github.com/vipernet-xyz/tm@v0.34.24/rpc/openapi/openapi.yaml (about)

     1  openapi: 3.0.0
     2  info:
     3    title: Tendermint RPC
     4    contact:
     5      name: Tendermint RPC
     6      url: https://github.com/vipernet-xyz/tm/issues/new/choose
     7    description: |
     8      Tendermint supports the following RPC protocols:
     9  
    10      * URI over HTTP
    11      * JSONRPC over HTTP
    12      * JSONRPC over websockets
    13  
    14      ## Configuration
    15  
    16      RPC can be configured by tuning parameters under `[rpc]` table in the
    17      `$TMHOME/config/config.toml` file or by using the `--rpc.X` command-line
    18      flags.
    19  
    20      Default rpc listen address is `tcp://0.0.0.0:26657`.
    21      To set another address, set the `laddr` config parameter to desired value.
    22      CORS (Cross-Origin Resource Sharing) can be enabled by setting
    23      `cors_allowed_origins`, `cors_allowed_methods`, `cors_allowed_headers`
    24      config parameters.
    25  
    26      ## Arguments
    27  
    28      Arguments which expect strings or byte arrays may be passed as quoted
    29      strings, like `"abc"` or as `0x`-prefixed strings, like `0x616263`.
    30  
    31      ## URI/HTTP
    32  
    33      A REST like interface.
    34  
    35          curl localhost:26657/block?height=5
    36  
    37      ## JSONRPC/HTTP
    38  
    39      JSONRPC requests can be POST'd to the root RPC endpoint via HTTP.
    40  
    41          curl --header "Content-Type: application/json" --request POST --data '{"method": "block", "params": ["5"], "id": 1}' localhost:26657
    42  
    43      ## JSONRPC/websockets
    44  
    45      JSONRPC requests can be also made via websocket.
    46      The websocket endpoint is at `/websocket`, e.g. `localhost:26657/websocket`.
    47      Asynchronous RPC functions like event `subscribe` and `unsubscribe` are
    48      only available via websockets.
    49  
    50      Example using https://github.com/hashrocket/ws:
    51  
    52          ws ws://localhost:26657/websocket
    53          > { "jsonrpc": "2.0", "method": "subscribe", "params": ["tm.event='NewBlock'"], "id": 1 }
    54    version: "v0.34"
    55    license:
    56      name: Apache 2.0
    57      url: https://github.com/vipernet-xyz/tm/blob/main/LICENSE
    58  servers:
    59    - url: https://rpc.cosmos.network
    60      description: Cosmos mainnet node to interact with the Tendermint RPC
    61    - url: http://localhost:26657
    62      description: Interact with the Tendermint RPC locally on your device
    63  tags:
    64    - name: Websocket
    65      description: Subscribe/unsubscribe are reserved for websocket events.
    66    - name: Info
    67      description: Informations about the node APIs
    68    - name: Tx
    69      description: Transactions broadcast APIs
    70    - name: ABCI
    71      description: ABCI APIs
    72    - name: Evidence
    73      description: Evidence APIs
    74    - name: Unsafe
    75      description: Unsafe APIs
    76  paths:
    77    /broadcast_tx_sync:
    78      get:
    79        summary: Returns with the response from CheckTx. Does not wait for DeliverTx result.
    80        tags:
    81          - Tx
    82        operationId: broadcast_tx_sync
    83        description: |
    84          If you want to be sure that the transaction is included in a block, you can
    85          subscribe for the result using JSONRPC via a websocket. See
    86          https://docs.tendermint.com/v0.34/app-dev/subscribing-to-events-via-websocket.html
    87          If you haven't received anything after a couple of blocks, resend it. If the
    88          same happens again, send it to some other node. A few reasons why it could
    89          happen:
    90  
    91          1. malicious node can drop or pretend it had committed your tx
    92          2. malicious proposer (not necessary the one you're communicating with) can
    93          drop transactions, which might become valid in the future
    94          (https://github.com/vipernet-xyz/tm/issues/3322)
    95  
    96  
    97          Please refer to
    98          https://docs.tendermint.com/v0.34/tendermint-core/using-tendermint.html#formatting
    99          for formatting/encoding rules.
   100        parameters:
   101          - in: query
   102            name: tx
   103            required: true
   104            schema:
   105              type: string
   106            example: "456"
   107            description: The transaction
   108        responses:
   109          "200":
   110            description: Empty
   111            content:
   112              application/json:
   113                schema:
   114                  $ref: "#/components/schemas/BroadcastTxResponse"
   115          "500":
   116            description: Error
   117            content:
   118              application/json:
   119                schema:
   120                  $ref: "#/components/schemas/ErrorResponse"
   121    /broadcast_tx_async:
   122      get:
   123        summary: Returns right away, with no response. Does not wait for CheckTx nor DeliverTx results.
   124        tags:
   125          - Tx
   126        operationId: broadcast_tx_async
   127        description: |
   128          If you want to be sure that the transaction is included in a block, you can
   129          subscribe for the result using JSONRPC via a websocket. See
   130          https://docs.tendermint.com/v0.34/app-dev/subscribing-to-events-via-websocket.html
   131          If you haven't received anything after a couple of blocks, resend it. If the
   132          same happens again, send it to some other node. A few reasons why it could
   133          happen:
   134  
   135          1. malicious node can drop or pretend it had committed your tx
   136          2. malicious proposer (not necessary the one you're communicating with) can
   137          drop transactions, which might become valid in the future
   138          (https://github.com/vipernet-xyz/tm/issues/3322)
   139          3. node can be offline
   140  
   141          Please refer to
   142          https://docs.tendermint.com/v0.34/tendermint-core/using-tendermint.html#formatting
   143          for formatting/encoding rules.
   144        parameters:
   145          - in: query
   146            name: tx
   147            required: true
   148            schema:
   149              type: string
   150              example: "123"
   151            description: The transaction
   152        responses:
   153          "200":
   154            description: empty answer
   155            content:
   156              application/json:
   157                schema:
   158                  $ref: "#/components/schemas/BroadcastTxResponse"
   159          "500":
   160            description: empty error
   161            content:
   162              application/json:
   163                schema:
   164                  $ref: "#/components/schemas/ErrorResponse"
   165    /broadcast_tx_commit:
   166      get:
   167        summary: Returns with the responses from CheckTx and DeliverTx.
   168        tags:
   169          - Tx
   170        operationId: broadcast_tx_commit
   171        description: |
   172          IMPORTANT: use only for testing and development. In production, use
   173          BroadcastTxSync or BroadcastTxAsync. You can subscribe for the transaction
   174          result using JSONRPC via a websocket. See
   175          https://docs.tendermint.com/v0.34/app-dev/subscribing-to-events-via-websocket.html
   176  
   177          CONTRACT: only returns error if mempool.CheckTx() errs or if we timeout
   178          waiting for tx to commit.
   179  
   180          If CheckTx or DeliverTx fail, no error will be returned, but the returned result
   181          will contain a non-OK ABCI code.
   182  
   183          Please refer to
   184          https://docs.tendermint.com/v0.34/tendermint-core/using-tendermint.html#formatting
   185          for formatting/encoding rules.
   186        parameters:
   187          - in: query
   188            name: tx
   189            required: true
   190            schema:
   191              type: string
   192              example: "785"
   193            description: The transaction
   194        responses:
   195          "200":
   196            description: empty answer
   197            content:
   198              application/json:
   199                schema:
   200                  $ref: "#/components/schemas/BroadcastTxCommitResponse"
   201          "500":
   202            description: empty error
   203            content:
   204              application/json:
   205                schema:
   206                  $ref: "#/components/schemas/ErrorResponse"
   207    /check_tx:
   208      get:
   209        summary: Checks the transaction without executing it.
   210        tags:
   211          - Tx
   212        operationId: check_tx
   213        description: |
   214          The transaction won't be added to the mempool.
   215  
   216          Please refer to
   217          https://docs.tendermint.com/v0.34/tendermint-core/using-tendermint.html#formatting
   218          for formatting/encoding rules.
   219  
   220          Upon success, the `Cache-Control` header will be set with the default
   221          maximum age.
   222        parameters:
   223          - in: query
   224            name: tx
   225            required: true
   226            schema:
   227              type: string
   228              example: "785"
   229            description: The transaction
   230        responses:
   231          "200":
   232            description: ABCI application's CheckTx response
   233            content:
   234              application/json:
   235                schema:
   236                  $ref: "#/components/schemas/CheckTxResponse"
   237          "500":
   238            description: empty error
   239            content:
   240              application/json:
   241                schema:
   242                  $ref: "#/components/schemas/ErrorResponse"
   243    /subscribe:
   244      get:
   245        summary: Subscribe for events via WebSocket.
   246        tags:
   247          - Websocket
   248        operationId: subscribe
   249        description: |
   250          To tell which events you want, you need to provide a query. query is a
   251          string, which has a form: "condition AND condition ..." (no OR at the
   252          moment). condition has a form: "key operation operand". key is a string with
   253          a restricted set of possible symbols ( \t\n\r\\()"'=>< are not allowed).
   254          operation can be "=", "<", "<=", ">", ">=", "CONTAINS" AND "EXISTS". operand
   255          can be a string (escaped with single quotes), number, date or time.
   256  
   257          Examples:
   258                tm.event = 'NewBlock'               # new blocks
   259                tm.event = 'CompleteProposal'       # node got a complete proposal
   260                tm.event = 'Tx' AND tx.hash = 'XYZ' # single transaction
   261                tm.event = 'Tx' AND tx.height = 5   # all txs of the fifth block
   262                tx.height = 5                       # all txs of the fifth block
   263  
   264          Tendermint provides a few predefined keys: tm.event, tx.hash and tx.height.
   265          Note for transactions, you can define additional keys by providing events with
   266          DeliverTx response.
   267  
   268          import (
   269              abci "github.com/vipernet-xyz/tm/abci/types"
   270              "github.com/vipernet-xyz/tm/libs/pubsub/query"
   271          )
   272  
   273          abci.ResponseDeliverTx{
   274            Events: []abci.Event{
   275                {
   276                    Type: "rewards.withdraw",
   277                    Attributes: abci.EventAttribute{
   278                        {Key: []byte("address"), Value: []byte("AddrA"), Index: true},
   279                        {Key: []byte("source"), Value: []byte("SrcX"), Index: true},
   280                        {Key: []byte("amount"), Value: []byte("..."), Index: true},
   281                        {Key: []byte("balance"), Value: []byte("..."), Index: true},
   282                    },
   283                },
   284                {
   285                    Type: "rewards.withdraw",
   286                    Attributes: abci.EventAttribute{
   287                        {Key: []byte("address"), Value: []byte("AddrB"), Index: true},
   288                        {Key: []byte("source"), Value: []byte("SrcY"), Index: true},
   289                        {Key: []byte("amount"), Value: []byte("..."), Index: true},
   290                        {Key: []byte("balance"), Value: []byte("..."), Index: true},
   291                    },
   292                },
   293                {
   294                    Type: "transfer",
   295                    Attributes: abci.EventAttribute{
   296                        {Key: []byte("sender"), Value: []byte("AddrC"), Index: true},
   297                        {Key: []byte("recipient"), Value: []byte("AddrD"), Index: true},
   298                        {Key: []byte("amount"), Value: []byte("..."), Index: true},
   299                    },
   300                },
   301            },
   302          }
   303  
   304          All events are indexed by a composite key of the form {eventType}.{evenAttrKey}.
   305          In the above examples, the following keys would be indexed:
   306             - rewards.withdraw.address
   307             - rewards.withdraw.source
   308             - rewards.withdraw.amount
   309             - rewards.withdraw.balance
   310             - transfer.sender
   311             - transfer.recipient
   312             - transfer.amount
   313  
   314          Multiple event types with duplicate keys are allowed and are meant to
   315          categorize unique and distinct events. In the above example, all events
   316          indexed under the key `rewards.withdraw.address` will have the following
   317          values stored and queryable:
   318  
   319             - AddrA
   320             - AddrB
   321  
   322          To create a query for txs where address AddrA withdrew rewards:
   323          query.MustParse("tm.event = 'Tx' AND rewards.withdraw.address = 'AddrA'")
   324  
   325          To create a query for txs where address AddrA withdrew rewards from source Y:
   326          query.MustParse("tm.event = 'Tx' AND rewards.withdraw.address = 'AddrA' AND rewards.withdraw.source = 'Y'")
   327  
   328          To create a query for txs where AddrA transferred funds:
   329          query.MustParse("tm.event = 'Tx' AND transfer.sender = 'AddrA'")
   330  
   331          The following queries would return no results:
   332          query.MustParse("tm.event = 'Tx' AND transfer.sender = 'AddrZ'")
   333          query.MustParse("tm.event = 'Tx' AND rewards.withdraw.address = 'AddrZ'")
   334          query.MustParse("tm.event = 'Tx' AND rewards.withdraw.source = 'W'")
   335  
   336          See list of all possible events here
   337          https://godoc.org/github.com/vipernet-xyz/tm/types#pkg-constants
   338  
   339          For complete query syntax, check out
   340          https://godoc.org/github.com/vipernet-xyz/tm/libs/pubsub/query.
   341  
   342          ```go
   343          import rpchttp "github.com/tendermint/rpc/client/http"
   344          import "github.com/vipernet-xyz/tm/types"
   345  
   346          client := rpchttp.New("tcp:0.0.0.0:26657", "/websocket")
   347          err := client.Start()
   348          if err != nil {
   349            handle error
   350          }
   351          defer client.Stop()
   352          ctx, cancel := context.WithTimeout(context.Background(), 1 * time.Second)
   353          defer cancel()
   354          query := "tm.event = 'Tx' AND tx.height = 3"
   355          txs, err := client.Subscribe(ctx, "test-client", query)
   356          if err != nil {
   357            handle error
   358          }
   359  
   360          go func() {
   361           for e := range txs {
   362             fmt.Println("got ", e.Data.(types.EventDataTx))
   363             }
   364          }()
   365          ```
   366  
   367          NOTE: if you're not reading events fast enough, Tendermint might
   368          terminate the subscription.
   369        parameters:
   370          - in: query
   371            name: query
   372            required: true
   373            schema:
   374              type: string
   375              example: tm.event = 'Tx' AND tx.height = 5
   376            description: |
   377              query is a string, which has a form: "condition AND condition ..." (no OR at the
   378              moment). condition has a form: "key operation operand". key is a string with
   379              a restricted set of possible symbols ( \t\n\r\\()"'=>< are not allowed).
   380              operation can be "=", "<", "<=", ">", ">=", "CONTAINS". operand can be a
   381              string (escaped with single quotes), number, date or time.
   382        responses:
   383          "200":
   384            description: empty answer
   385            content:
   386              application/json:
   387                schema:
   388                  $ref: "#/components/schemas/EmptyResponse"
   389          "500":
   390            description: empty error
   391            content:
   392              application/json:
   393                schema:
   394                  $ref: "#/components/schemas/ErrorResponse"
   395    /unsubscribe:
   396      get:
   397        summary: Unsubscribe from event on Websocket
   398        tags:
   399          - Websocket
   400        operationId: unsubscribe
   401        description: |
   402          ```go
   403          client := rpchttp.New("tcp:0.0.0.0:26657", "/websocket")
   404          err := client.Start()
   405          if err != nil {
   406             handle error
   407          }
   408          defer client.Stop()
   409          query := "tm.event = 'Tx' AND tx.height = 3"
   410          err = client.Unsubscribe(context.Background(), "test-client", query)
   411          if err != nil {
   412             handle error
   413          }
   414          ```
   415        parameters:
   416          - in: query
   417            name: query
   418            required: true
   419            schema:
   420              type: string
   421              example: tm.event = 'Tx' AND tx.height = 5
   422            description: |
   423              query is a string, which has a form: "condition AND condition ..." (no OR at the
   424              moment). condition has a form: "key operation operand". key is a string with
   425              a restricted set of possible symbols ( \t\n\r\\()"'=>< are not allowed).
   426              operation can be "=", "<", "<=", ">", ">=", "CONTAINS". operand can be a
   427              string (escaped with single quotes), number, date or time.
   428        responses:
   429          "200":
   430            description: Answer
   431            content:
   432              application/json:
   433                schema:
   434                  $ref: "#/components/schemas/EmptyResponse"
   435          "500":
   436            description: Error
   437            content:
   438              application/json:
   439                schema:
   440                  $ref: "#/components/schemas/ErrorResponse"
   441    /unsubscribe_all:
   442      get:
   443        summary: Unsubscribe from all events via WebSocket
   444        tags:
   445          - Websocket
   446        operationId: unsubscribe_all
   447        description: |
   448          Unsubscribe from all events via WebSocket
   449        responses:
   450          "200":
   451            description: empty answer
   452            content:
   453              application/json:
   454                schema:
   455                  $ref: "#/components/schemas/EmptyResponse"
   456          "500":
   457            description: empty error
   458            content:
   459              application/json:
   460                schema:
   461                  $ref: "#/components/schemas/ErrorResponse"
   462    /health:
   463      get:
   464        summary: Node heartbeat
   465        tags:
   466          - Info
   467        operationId: health
   468        description: |
   469          Get node health. Returns empty result (200 OK) on success, no response - in case of an error.
   470        responses:
   471          "200":
   472            description: Gets Node Health
   473            content:
   474              application/json:
   475                schema:
   476                  $ref: "#/components/schemas/EmptyResponse"
   477          "500":
   478            description: empty error
   479            content:
   480              application/json:
   481                schema:
   482                  $ref: "#/components/schemas/ErrorResponse"
   483    /status:
   484      get:
   485        summary: Node Status
   486        operationId: status
   487        tags:
   488          - Info
   489        description: |
   490          Get Tendermint status including node info, pubkey, latest block hash, app hash, block height and time.
   491        responses:
   492          "200":
   493            description: Status of the node
   494            content:
   495              application/json:
   496                schema:
   497                  $ref: "#/components/schemas/StatusResponse"
   498          "500":
   499            description: empty error
   500            content:
   501              application/json:
   502                schema:
   503                  $ref: "#/components/schemas/ErrorResponse"
   504    /net_info:
   505      get:
   506        summary: Network informations
   507        operationId: net_info
   508        tags:
   509          - Info
   510        description: |
   511          Get network info.
   512        responses:
   513          "200":
   514            description: empty answer
   515            content:
   516              application/json:
   517                schema:
   518                  $ref: "#/components/schemas/NetInfoResponse"
   519          "500":
   520            description: empty error
   521            content:
   522              application/json:
   523                schema:
   524                  $ref: "#/components/schemas/ErrorResponse"
   525    /dial_seeds:
   526      get:
   527        summary: Dial Seeds (Unsafe)
   528        operationId: dial_seeds
   529        tags:
   530          - Unsafe
   531        description: |
   532          Dial a peer, this route in under unsafe, and has to manually enabled to use
   533  
   534            **Example:** curl 'localhost:26657/dial_seeds?seeds=\["f9baeaa15fedf5e1ef7448dd60f46c01f1a9e9c4@1.2.3.4:26656","0491d373a8e0fcf1023aaf18c51d6a1d0d4f31bd@5.6.7.8:26656"\]'
   535        parameters:
   536          - in: query
   537            name: peers
   538            description: list of seed nodes to dial
   539            schema:
   540              type: array
   541              items:
   542                type: string
   543                example:
   544                  ["f9baeaa15fedf5e1ef7448dd60f46c01f1a9e9c4@1.2.3.4:26656"]
   545        responses:
   546          "200":
   547            description: Dialing seeds in progress. See /net_info for details
   548            content:
   549              application/json:
   550                schema:
   551                  $ref: "#/components/schemas/dialResp"
   552          "500":
   553            description: empty error
   554            content:
   555              application/json:
   556                schema:
   557                  $ref: "#/components/schemas/ErrorResponse"
   558    /dial_peers:
   559      get:
   560        summary: Add Peers/Persistent Peers (unsafe)
   561        operationId: dial_peers
   562        tags:
   563          - Unsafe
   564        description: |
   565          Set a persistent peer, this route in under unsafe, and has to manually enabled to use.
   566  
   567          **Example:** curl 'localhost:26657/dial_peers?peers=\["f9baeaa15fedf5e1ef7448dd60f46c01f1a9e9c4@1.2.3.4:26656","0491d373a8e0fcf1023aaf18c51d6a1d0d4f31bd@5.6.7.8:26656"\]&persistent=false'
   568        parameters:
   569          - in: query
   570            name: persistent
   571            description: Have the peers you are dialing be persistent
   572            schema:
   573              type: boolean
   574              example: true
   575          - in: query
   576            name: unconditional
   577            description: Have the peers you are dialing be unconditional
   578            schema:
   579              type: boolean
   580              example: true
   581          - in: query
   582            name: private
   583            description: Have the peers you are dialing be private
   584            schema:
   585              type: boolean
   586              example: true
   587          - in: query
   588            name: peers
   589            description: array of peers to dial
   590            schema:
   591              type: array
   592              items:
   593                type: string
   594                example:
   595                  ["f9baeaa15fedf5e1ef7448dd60f46c01f1a9e9c4@1.2.3.4:26656"]
   596        responses:
   597          "200":
   598            description: Dialing seeds in progress. See /net_info for details
   599            content:
   600              application/json:
   601                schema:
   602                  $ref: "#/components/schemas/dialResp"
   603          "500":
   604            description: empty error
   605            content:
   606              application/json:
   607                schema:
   608                  $ref: "#/components/schemas/ErrorResponse"
   609    /blockchain:
   610      get:
   611        summary: "Get block headers (max: 20) for minHeight <= height <= maxHeight."
   612        operationId: blockchain
   613        parameters:
   614          - in: query
   615            name: minHeight
   616            description: Minimum block height to return
   617            schema:
   618              type: integer
   619              example: 1
   620          - in: query
   621            name: maxHeight
   622            description: Maximum block height to return
   623            schema:
   624              type: integer
   625              example: 2
   626        tags:
   627          - Info
   628        description: |
   629          Get block headers for minHeight <= height <= maxHeight.
   630  
   631          At most 20 items will be returned.
   632  
   633          Upon success, the `Cache-Control` header will be set with the default
   634          maximum age.
   635        responses:
   636          "200":
   637            description: Block headers, returned in descending order (highest first).
   638            content:
   639              application/json:
   640                schema:
   641                  $ref: "#/components/schemas/BlockchainResponse"
   642          "500":
   643            description: Error
   644            content:
   645              application/json:
   646                schema:
   647                  $ref: "#/components/schemas/ErrorResponse"
   648    /block:
   649      get:
   650        summary: Get block at a specified height
   651        operationId: block
   652        parameters:
   653          - in: query
   654            name: height
   655            schema:
   656              type: integer
   657              default: 0
   658              example: 1
   659            description: height to return. If no height is provided, it will fetch the latest block.
   660        tags:
   661          - Info
   662        description: |
   663          Get Block.
   664  
   665          If the `height` field is set to a non-default value, upon success, the
   666          `Cache-Control` header will be set with the default maximum age.
   667        responses:
   668          "200":
   669            description: Block informations.
   670            content:
   671              application/json:
   672                schema:
   673                  $ref: "#/components/schemas/BlockResponse"
   674          "500":
   675            description: Error
   676            content:
   677              application/json:
   678                schema:
   679                  $ref: "#/components/schemas/ErrorResponse"
   680    /block_by_hash:
   681      get:
   682        summary: Get block by hash
   683        operationId: block_by_hash
   684        parameters:
   685          - in: query
   686            name: hash
   687            description: block hash
   688            required: true
   689            schema:
   690              type: string
   691              example: "0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED"
   692        tags:
   693          - Info
   694        description: |
   695          Get Block By Hash.
   696  
   697          Upon success, the `Cache-Control` header will be set with the default
   698          maximum age.
   699        responses:
   700          "200":
   701            description: Block informations.
   702            content:
   703              application/json:
   704                schema:
   705                  $ref: "#/components/schemas/BlockResponse"
   706          "500":
   707            description: Error
   708            content:
   709              application/json:
   710                schema:
   711                  $ref: "#/components/schemas/ErrorResponse"
   712    /block_results:
   713      get:
   714        summary: Get block results at a specified height
   715        operationId: block_results
   716        parameters:
   717          - in: query
   718            name: height
   719            description: height to return. If no height is provided, it will fetch information regarding the latest block.
   720            schema:
   721              type: integer
   722              default: 0
   723              example: 1
   724        tags:
   725          - Info
   726        description: |
   727          Get block_results. When the `discard_abci_responses` storage flag is
   728          enabled, this endpoint will return an error.
   729  
   730          If the `height` field is set to a non-default value, upon success, the
   731          `Cache-Control` header will be set with the default maximum age.
   732        responses:
   733          "200":
   734            description: Block results.
   735            content:
   736              application/json:
   737                schema:
   738                  $ref: "#/components/schemas/BlockResultsResponse"
   739          "500":
   740            description: Error
   741            content:
   742              application/json:
   743                schema:
   744                  $ref: "#/components/schemas/ErrorResponse"
   745    /commit:
   746      get:
   747        summary: Get commit results at a specified height
   748        operationId: commit
   749        parameters:
   750          - in: query
   751            name: height
   752            description: height to return. If no height is provided, it will fetch commit informations regarding the latest block.
   753            schema:
   754              type: integer
   755              default: 0
   756              example: 1
   757        tags:
   758          - Info
   759        description: |
   760          Get Commit.
   761  
   762          If the `height` field is set to a non-default value, upon success, the
   763          `Cache-Control` header will be set with the default maximum age.
   764        responses:
   765          "200":
   766            description: |
   767              Commit results.
   768  
   769              canonical switches from false to true for block H once block H+1 has been committed. Until then it's subjective and only reflects what this node has seen so far.
   770            content:
   771              application/json:
   772                schema:
   773                  $ref: "#/components/schemas/CommitResponse"
   774          "500":
   775            description: Error
   776            content:
   777              application/json:
   778                schema:
   779                  $ref: "#/components/schemas/ErrorResponse"
   780    /validators:
   781      get:
   782        summary: Get validator set at a specified height
   783        operationId: validators
   784        parameters:
   785          - in: query
   786            name: height
   787            description: height to return. If no height is provided, it will fetch validator set which corresponds to the latest block.
   788            schema:
   789              type: integer
   790              default: 0
   791              example: 1
   792          - in: query
   793            name: page
   794            description: "Page number (1-based)"
   795            required: false
   796            schema:
   797              type: integer
   798              default: 1
   799              example: 1
   800          - in: query
   801            name: per_page
   802            description: "Number of entries per page (max: 100)"
   803            required: false
   804            schema:
   805              type: integer
   806              example: 30
   807              default: 30
   808        tags:
   809          - Info
   810        description: |
   811          Get Validators. Validators are sorted by voting power.
   812  
   813          If the `height` field is set to a non-default value, upon success, the
   814          `Cache-Control` header will be set with the default maximum age.
   815        responses:
   816          "200":
   817            description: Commit results.
   818            content:
   819              application/json:
   820                schema:
   821                  $ref: "#/components/schemas/ValidatorsResponse"
   822          "500":
   823            description: Error
   824            content:
   825              application/json:
   826                schema:
   827                  $ref: "#/components/schemas/ErrorResponse"
   828    /genesis:
   829      get:
   830        summary: Get Genesis
   831        operationId: genesis
   832        tags:
   833          - Info
   834        description: |
   835          Get genesis.
   836  
   837          Upon success, the `Cache-Control` header will be set with the default
   838          maximum age.
   839        responses:
   840          "200":
   841            description: Genesis results.
   842            content:
   843              application/json:
   844                schema:
   845                  $ref: "#/components/schemas/GenesisResponse"
   846          "500":
   847            description: Error
   848            content:
   849              application/json:
   850                schema:
   851                  $ref: "#/components/schemas/ErrorResponse"
   852    /dump_consensus_state:
   853      get:
   854        summary: Get consensus state
   855        operationId: dump_consensus_state
   856        tags:
   857          - Info
   858        description: |
   859          Get consensus state.
   860  
   861          Not safe to call from inside the ABCI application during a block execution.
   862        responses:
   863          "200":
   864            description: |
   865              Complete consensus state.
   866  
   867              See https://pkg.go.dev/github.com/vipernet-xyz/tm/types?tab=doc#Vote.String for Vote string description.
   868            content:
   869              application/json:
   870                schema:
   871                  $ref: "#/components/schemas/DumpConsensusResponse"
   872          "500":
   873            description: Error
   874            content:
   875              application/json:
   876                schema:
   877                  $ref: "#/components/schemas/ErrorResponse"
   878    /consensus_state:
   879      get:
   880        summary: Get consensus state
   881        operationId: consensus_state
   882        tags:
   883          - Info
   884        description: |
   885          Get consensus state.
   886  
   887          Not safe to call from inside the ABCI application during a block execution.
   888        responses:
   889          "200":
   890            description: consensus state results.
   891            content:
   892              application/json:
   893                schema:
   894                  $ref: "#/components/schemas/ConsensusStateResponse"
   895          "500":
   896            description: Error
   897            content:
   898              application/json:
   899                schema:
   900                  $ref: "#/components/schemas/ErrorResponse"
   901    /consensus_params:
   902      get:
   903        summary: Get consensus parameters
   904        operationId: consensus_params
   905        parameters:
   906          - in: query
   907            name: height
   908            description: height to return. If no height is provided, it will fetch commit informations regarding the latest block.
   909            schema:
   910              type: integer
   911              default: 0
   912              example: 1
   913        tags:
   914          - Info
   915        description: |
   916          Get consensus parameters.
   917  
   918          If the `height` field is set to a non-default value, upon success, the
   919          `Cache-Control` header will be set with the default maximum age.
   920        responses:
   921          "200":
   922            description: consensus parameters results.
   923            content:
   924              application/json:
   925                schema:
   926                  $ref: "#/components/schemas/ConsensusParamsResponse"
   927          "500":
   928            description: Error
   929            content:
   930              application/json:
   931                schema:
   932                  $ref: "#/components/schemas/ErrorResponse"
   933    /unconfirmed_txs:
   934      get:
   935        summary: Get the list of unconfirmed transactions
   936        operationId: unconfirmed_txs
   937        parameters:
   938          - in: query
   939            name: limit
   940            description: Maximum number of unconfirmed transactions to return (max 100)
   941            required: false
   942            schema:
   943              type: integer
   944              default: 30
   945              example: 1
   946        tags:
   947          - Info
   948        description: |
   949          Get list of unconfirmed transactions
   950        responses:
   951          "200":
   952            description: List of unconfirmed transactions
   953            content:
   954              application/json:
   955                schema:
   956                  $ref: "#/components/schemas/UnconfirmedTransactionsResponse"
   957          "500":
   958            description: Error
   959            content:
   960              application/json:
   961                schema:
   962                  $ref: "#/components/schemas/ErrorResponse"
   963    /num_unconfirmed_txs:
   964      get:
   965        summary: Get data about unconfirmed transactions
   966        operationId: num_unconfirmed_txs
   967        tags:
   968          - Info
   969        description: |
   970          Get data about unconfirmed transactions
   971        responses:
   972          "200":
   973            description: status about unconfirmed transactions
   974            content:
   975              application/json:
   976                schema:
   977                  $ref: "#/components/schemas/NumUnconfirmedTransactionsResponse"
   978          "500":
   979            description: Error
   980            content:
   981              application/json:
   982                schema:
   983                  $ref: "#/components/schemas/ErrorResponse"
   984    /tx_search:
   985      get:
   986        summary: Search for transactions
   987        description: |
   988          Search for transactions w/ their results.
   989  
   990          See /subscribe for the query syntax.
   991        operationId: tx_search
   992        parameters:
   993          - in: query
   994            name: query
   995            description: Query
   996            required: true
   997            schema:
   998              type: string
   999              example: "tx.height=1000"
  1000          - in: query
  1001            name: prove
  1002            description: Include proofs of the transactions inclusion in the block
  1003            required: false
  1004            schema:
  1005              type: boolean
  1006              default: false
  1007              example: true
  1008          - in: query
  1009            name: page
  1010            description: "Page number (1-based)"
  1011            required: false
  1012            schema:
  1013              type: integer
  1014              default: 1
  1015              example: 1
  1016          - in: query
  1017            name: per_page
  1018            description: "Number of entries per page (max: 100)"
  1019            required: false
  1020            schema:
  1021              type: integer
  1022              default: 30
  1023              example: 30
  1024          - in: query
  1025            name: order_by
  1026            description: Order in which transactions are sorted ("asc" or "desc"), by height & index. If empty, default sorting will be still applied.
  1027            required: false
  1028            schema:
  1029              type: string
  1030              default: "asc"
  1031              example: "asc"
  1032        tags:
  1033          - Info
  1034        responses:
  1035          "200":
  1036            description: List of unconfirmed transactions
  1037            content:
  1038              application/json:
  1039                schema:
  1040                  $ref: "#/components/schemas/TxSearchResponse"
  1041          "500":
  1042            description: Error
  1043            content:
  1044              application/json:
  1045                schema:
  1046                  $ref: "#/components/schemas/ErrorResponse"
  1047    /block_search:
  1048      get:
  1049        summary: Search for blocks by BeginBlock and EndBlock events
  1050        description: |
  1051          Search for blocks by BeginBlock and EndBlock events.
  1052  
  1053          See /subscribe for the query syntax.
  1054        operationId: block_search
  1055        parameters:
  1056          - in: query
  1057            name: query
  1058            description: Query
  1059            required: true
  1060            schema:
  1061              type: string
  1062              example: "block.height > 1000 AND valset.changed > 0"
  1063          - in: query
  1064            name: page
  1065            description: "Page number (1-based)"
  1066            required: false
  1067            schema:
  1068              type: integer
  1069              default: 1
  1070              example: 1
  1071          - in: query
  1072            name: per_page
  1073            description: "Number of entries per page (max: 100)"
  1074            required: false
  1075            schema:
  1076              type: integer
  1077              default: 30
  1078              example: 30
  1079          - in: query
  1080            name: order_by
  1081            description: Order in which blocks are sorted ("asc" or "desc"), by height. If empty, default sorting will be still applied.
  1082            required: false
  1083            schema:
  1084              type: string
  1085              default: "desc"
  1086              example: "asc"
  1087        tags:
  1088          - Info
  1089        responses:
  1090          "200":
  1091            description: List of paginated blocks matching the search criteria.
  1092            content:
  1093              application/json:
  1094                schema:
  1095                  $ref: "#/components/schemas/BlockSearchResponse"
  1096          "500":
  1097            description: Error
  1098            content:
  1099              application/json:
  1100                schema:
  1101                  $ref: "#/components/schemas/ErrorResponse"
  1102  
  1103    /tx:
  1104      get:
  1105        summary: Get transactions by hash
  1106        operationId: tx
  1107        parameters:
  1108          - in: query
  1109            name: hash
  1110            description: hash of transaction to retrieve
  1111            required: true
  1112            schema:
  1113              type: string
  1114              example: "0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED"
  1115          - in: query
  1116            name: prove
  1117            description: Include proofs of the transaction's inclusion in the block
  1118            required: false
  1119            schema:
  1120              type: boolean
  1121              example: true
  1122              default: false
  1123        tags:
  1124          - Info
  1125        description: |
  1126          Get a transaction
  1127  
  1128          Upon success, the `Cache-Control` header will be set with the default
  1129          maximum age.
  1130        responses:
  1131          "200":
  1132            description: Get a transaction`
  1133            content:
  1134              application/json:
  1135                schema:
  1136                  $ref: "#/components/schemas/TxResponse"
  1137          "500":
  1138            description: Error
  1139            content:
  1140              application/json:
  1141                schema:
  1142                  $ref: "#/components/schemas/ErrorResponse"
  1143    /abci_info:
  1144      get:
  1145        summary: Get info about the application.
  1146        operationId: abci_info
  1147        tags:
  1148          - ABCI
  1149        description: |
  1150          Get info about the application.
  1151  
  1152          Upon success, the `Cache-Control` header will be set with the default
  1153          maximum age.
  1154        responses:
  1155          "200":
  1156            description: Get some info about the application.
  1157            content:
  1158              application/json:
  1159                schema:
  1160                  $ref: "#/components/schemas/ABCIInfoResponse"
  1161          "500":
  1162            description: Error
  1163            content:
  1164              application/json:
  1165                schema:
  1166                  $ref: "#/components/schemas/ErrorResponse"
  1167    /abci_query:
  1168      get:
  1169        summary: Query the application for some information.
  1170        operationId: abci_query
  1171        parameters:
  1172          - in: query
  1173            name: path
  1174            description: Path to the data ("/a/b/c")
  1175            required: true
  1176            schema:
  1177              type: string
  1178              example: "/a/b/c"
  1179          - in: query
  1180            name: data
  1181            description: Data
  1182            required: true
  1183            schema:
  1184              type: string
  1185              example: "IHAVENOIDEA"
  1186          - in: query
  1187            name: height
  1188            description: Height (0 means latest)
  1189            required: false
  1190            schema:
  1191              type: integer
  1192              example: 1
  1193              default: 0
  1194          - in: query
  1195            name: prove
  1196            description: Include proofs of the transactions inclusion in the block
  1197            required: false
  1198            schema:
  1199              type: boolean
  1200              example: true
  1201              default: false
  1202        tags:
  1203          - ABCI
  1204        description: |
  1205          Query the application for some information.
  1206        responses:
  1207          "200":
  1208            description: Response of the submitted query
  1209            content:
  1210              application/json:
  1211                schema:
  1212                  $ref: "#/components/schemas/ABCIQueryResponse"
  1213          "500":
  1214            description: Error
  1215            content:
  1216              application/json:
  1217                schema:
  1218                  $ref: "#/components/schemas/ErrorResponse"
  1219    /broadcast_evidence:
  1220      get:
  1221        summary: Broadcast evidence of the misbehavior.
  1222        operationId: broadcast_evidence
  1223        parameters:
  1224          - in: query
  1225            name: evidence
  1226            description: JSON evidence
  1227            required: true
  1228            schema:
  1229              type: string
  1230              example: "JSON_EVIDENCE_encoded"
  1231        tags:
  1232          - Info
  1233        description: |
  1234          Broadcast evidence of the misbehavior.
  1235        responses:
  1236          "200":
  1237            description: Broadcast evidence of the misbehavior.
  1238            content:
  1239              application/json:
  1240                schema:
  1241                  $ref: "#/components/schemas/BroadcastEvidenceResponse"
  1242          "500":
  1243            description: Error
  1244            content:
  1245              application/json:
  1246                schema:
  1247                  $ref: "#/components/schemas/ErrorResponse"
  1248  
  1249  components:
  1250    schemas:
  1251      JSONRPC:
  1252        type: object
  1253        properties:
  1254          id:
  1255            type: integer
  1256            example: 0
  1257          jsonrpc:
  1258            type: string
  1259            example: "2.0"
  1260      EmptyResponse:
  1261        description: Empty Response
  1262        allOf:
  1263          - $ref: "#/components/schemas/JSONRPC"
  1264          - type: object
  1265            properties:
  1266              result:
  1267                type: object
  1268                additionalProperties: {}
  1269      ErrorResponse:
  1270        description: Error Response
  1271        allOf:
  1272          - $ref: "#/components/schemas/JSONRPC"
  1273          - type: object
  1274            properties:
  1275              error:
  1276                type: string
  1277                example: "Description of failure"
  1278      ProtocolVersion:
  1279        type: object
  1280        properties:
  1281          p2p:
  1282            type: string
  1283            example: "7"
  1284          block:
  1285            type: string
  1286            example: "10"
  1287          app:
  1288            type: string
  1289            example: "0"
  1290      PubKey:
  1291        type: object
  1292        properties:
  1293          type:
  1294            type: string
  1295            example: "tendermint/PubKeyEd25519"
  1296          value:
  1297            type: string
  1298            example: "A6DoBUypNtUAyEHWtQ9bFjfNg8Bo9CrnkUGl6k6OHN4="
  1299      NodeInfo:
  1300        type: object
  1301        properties:
  1302          protocol_version:
  1303            $ref: "#/components/schemas/ProtocolVersion"
  1304          id:
  1305            type: string
  1306            example: "5576458aef205977e18fd50b274e9b5d9014525a"
  1307          listen_addr:
  1308            type: string
  1309            example: "tcp:0.0.0.0:26656"
  1310          network:
  1311            type: string
  1312            example: "cosmoshub-2"
  1313          version:
  1314            type: string
  1315            example: "0.32.1"
  1316          channels:
  1317            type: string
  1318            example: "4020212223303800"
  1319          moniker:
  1320            type: string
  1321            example: "moniker-node"
  1322          other:
  1323            type: object
  1324            properties:
  1325              tx_index:
  1326                type: string
  1327                example: "on"
  1328              rpc_address:
  1329                type: string
  1330                example: "tcp:0.0.0.0:26657"
  1331      SyncInfo:
  1332        type: object
  1333        properties:
  1334          latest_block_hash:
  1335            type: string
  1336            example: "790BA84C3545FCCC49A5C629CEE6EA58A6E875C3862175BDC11EE7AF54703501"
  1337          latest_app_hash:
  1338            type: string
  1339            example: "C9AEBB441B787D9F1D846DE51F3826F4FD386108B59B08239653ABF59455C3F8"
  1340          latest_block_height:
  1341            type: string
  1342            example: "1262196"
  1343          latest_block_time:
  1344            type: string
  1345            example: "2019-08-01T11:52:22.818762194Z"
  1346          earliest_block_hash:
  1347            type: string
  1348            example: "790BA84C3545FCCC49A5C629CEE6EA58A6E875C3862175BDC11EE7AF54703501"
  1349          earliest_app_hash:
  1350            type: string
  1351            example: "C9AEBB441B787D9F1D846DE51F3826F4FD386108B59B08239653ABF59455C3F8"
  1352          earliest_block_height:
  1353            type: string
  1354            example: "1262196"
  1355          earliest_block_time:
  1356            type: string
  1357            example: "2019-08-01T11:52:22.818762194Z"
  1358          catching_up:
  1359            type: boolean
  1360            example: false
  1361      ValidatorInfo:
  1362        type: object
  1363        properties:
  1364          address:
  1365            type: string
  1366            example: "5D6A51A8E9899C44079C6AF90618BA0369070E6E"
  1367          pub_key:
  1368            $ref: "#/components/schemas/PubKey"
  1369          voting_power:
  1370            type: string
  1371            example: "0"
  1372      Status:
  1373        description: Status Response
  1374        type: object
  1375        properties:
  1376          node_info:
  1377            $ref: "#/components/schemas/NodeInfo"
  1378          sync_info:
  1379            $ref: "#/components/schemas/SyncInfo"
  1380          validator_info:
  1381            $ref: "#/components/schemas/ValidatorInfo"
  1382      StatusResponse:
  1383        description: Status Response
  1384        allOf:
  1385          - $ref: "#/components/schemas/JSONRPC"
  1386          - type: object
  1387            properties:
  1388              result:
  1389                $ref: "#/components/schemas/Status"
  1390      Monitor:
  1391        type: object
  1392        properties:
  1393          Active:
  1394            type: boolean
  1395            example: true
  1396          Start:
  1397            type: string
  1398            example: "2019-07-31T14:31:28.66Z"
  1399          Duration:
  1400            type: string
  1401            example: "168901060000000"
  1402          Idle:
  1403            type: string
  1404            example: "168901040000000"
  1405          Bytes:
  1406            type: string
  1407            example: "5"
  1408          Samples:
  1409            type: string
  1410            example: "1"
  1411          InstRate:
  1412            type: string
  1413            example: "0"
  1414          CurRate:
  1415            type: string
  1416            example: "0"
  1417          AvgRate:
  1418            type: string
  1419            example: "0"
  1420          PeakRate:
  1421            type: string
  1422            example: "0"
  1423          BytesRem:
  1424            type: string
  1425            example: "0"
  1426          TimeRem:
  1427            type: string
  1428            example: "0"
  1429          Progress:
  1430            type: integer
  1431            example: 0
  1432      Channel:
  1433        type: object
  1434        properties:
  1435          ID:
  1436            type: integer
  1437            example: 48
  1438          SendQueueCapacity:
  1439            type: string
  1440            example: "1"
  1441          SendQueueSize:
  1442            type: string
  1443            example: "0"
  1444          Priority:
  1445            type: string
  1446            example: "5"
  1447          RecentlySent:
  1448            type: string
  1449            example: "0"
  1450      ConnectionStatus:
  1451        type: object
  1452        properties:
  1453          Duration:
  1454            type: string
  1455            example: "168901057956119"
  1456          SendMonitor:
  1457            $ref: "#/components/schemas/Monitor"
  1458          RecvMonitor:
  1459            $ref: "#/components/schemas/Monitor"
  1460          Channels:
  1461            type: array
  1462            items:
  1463              $ref: "#/components/schemas/Channel"
  1464      Peer:
  1465        type: object
  1466        properties:
  1467          node_info:
  1468            $ref: "#/components/schemas/NodeInfo"
  1469          is_outbound:
  1470            type: boolean
  1471            example: true
  1472          connection_status:
  1473            $ref: "#/components/schemas/ConnectionStatus"
  1474          remote_ip:
  1475            type: string
  1476            example: "95.179.155.35"
  1477      NetInfo:
  1478        type: object
  1479        properties:
  1480          listening:
  1481            type: boolean
  1482            example: true
  1483          listeners:
  1484            type: array
  1485            items:
  1486              type: string
  1487              example: "Listener(@)"
  1488          n_peers:
  1489            type: string
  1490            example: "1"
  1491          peers:
  1492            type: array
  1493            items:
  1494              $ref: "#/components/schemas/Peer"
  1495      NetInfoResponse:
  1496        description: NetInfo Response
  1497        allOf:
  1498          - $ref: "#/components/schemas/JSONRPC"
  1499          - type: object
  1500            properties:
  1501              result:
  1502                $ref: "#/components/schemas/NetInfo"
  1503  
  1504      BlockMeta:
  1505        type: object
  1506        properties:
  1507          block_id:
  1508            $ref: "#/components/schemas/BlockID"
  1509          block_size:
  1510            type: integer
  1511            example: 1000000
  1512          header:
  1513            $ref: "#/components/schemas/BlockHeader"
  1514          num_txs:
  1515            type: string
  1516            example: "54"
  1517  
  1518      Blockchain:
  1519        type: object
  1520        required:
  1521          - "last_height"
  1522          - "block_metas"
  1523        properties:
  1524          last_height:
  1525            type: string
  1526            example: "1276718"
  1527          block_metas:
  1528            type: array
  1529            items:
  1530              $ref: "#/components/schemas/BlockMeta"
  1531  
  1532      BlockchainResponse:
  1533        description: Blockchain info
  1534        allOf:
  1535          - $ref: "#/components/schemas/JSONRPC"
  1536          - type: object
  1537            properties:
  1538              result:
  1539                $ref: "#/components/schemas/Blockchain"
  1540  
  1541      Commit:
  1542        required:
  1543          - "type"
  1544          - "height"
  1545          - "round"
  1546          - "block_id"
  1547          - "timestamp"
  1548          - "validator_address"
  1549          - "validator_index"
  1550          - "signature"
  1551        properties:
  1552          type:
  1553            type: integer
  1554            example: 2
  1555          height:
  1556            type: string
  1557            example: "1262085"
  1558          round:
  1559            type: integer
  1560            example: 0
  1561          block_id:
  1562            $ref: "#/components/schemas/BlockID"
  1563          timestamp:
  1564            type: string
  1565            example: "2019-08-01T11:39:38.867269833Z"
  1566          validator_address:
  1567            type: string
  1568            example: "000001E443FD237E4B616E2FA69DF4EE3D49A94F"
  1569          validator_index:
  1570            type: integer
  1571            example: 0
  1572          signature:
  1573            type: string
  1574            example: "DBchvucTzAUEJnGYpNvMdqLhBAHG4Px8BsOBB3J3mAFCLGeuG7uJqy+nVngKzZdPhPi8RhmE/xcw/M9DOJjEDg=="
  1575  
  1576      Block:
  1577        type: object
  1578        properties:
  1579          header:
  1580            $ref: "#/components/schemas/BlockHeader"
  1581          data:
  1582            type: array
  1583            items:
  1584              type: string
  1585              example: "yQHwYl3uCkKoo2GaChRnd+THLQ2RM87nEZrE19910Z28ABIUWW/t8AtIMwcyU0sT32RcMDI9GF0aEAoFdWF0b20SBzEwMDAwMDASEwoNCgV1YXRvbRIEMzEwMRCd8gEaagom61rphyEDoJPxlcjRoNDtZ9xMdvs+lRzFaHe2dl2P5R2yVCWrsHISQKkqX5H1zXAIJuC57yw0Yb03Fwy75VRip0ZBtLiYsUqkOsPUoQZAhDNP+6LY+RUwz/nVzedkF0S29NZ32QXdGv0="
  1586          evidence:
  1587            type: array
  1588            items:
  1589              $ref: "#/components/schemas/Evidence"
  1590          last_commit:
  1591            type: object
  1592            properties:
  1593              height:
  1594                type: integer
  1595              round:
  1596                type: integer
  1597              block_id:
  1598                $ref: "#/components/schemas/BlockID"
  1599              signatures:
  1600                type: array
  1601                items:
  1602                  $ref: "#/components/schemas/Commit"
  1603  
  1604      Evidence:
  1605        type: object
  1606        properties:
  1607          type:
  1608            type: string
  1609          height:
  1610            type: integer
  1611          time:
  1612            type: integer
  1613          total_voting_power:
  1614            type: integer
  1615          validator:
  1616            $ref: "#/components/schemas/Validator"
  1617  
  1618      BlockComplete:
  1619        type: object
  1620        properties:
  1621          block_id:
  1622            $ref: "#/components/schemas/BlockID"
  1623          block:
  1624            $ref: "#/components/schemas/Block"
  1625      BlockResponse:
  1626        description: Blockc info
  1627        allOf:
  1628          - $ref: "#/components/schemas/JSONRPC"
  1629          - type: object
  1630            properties:
  1631              result:
  1632                $ref: "#/components/schemas/BlockComplete"
  1633  
  1634      ################## FROM NOW ON NEEDS REFACTOR ##################
  1635      BlockResultsResponse:
  1636        type: object
  1637        required:
  1638          - "jsonrpc"
  1639          - "id"
  1640          - "result"
  1641        properties:
  1642          jsonrpc:
  1643            type: string
  1644            example: "2.0"
  1645          id:
  1646            type: integer
  1647            example: 0
  1648          result:
  1649            type: object
  1650            required:
  1651              - "height"
  1652            properties:
  1653              height:
  1654                type: string
  1655                example: "12"
  1656              txs_results:
  1657                type: array
  1658                nullable: true
  1659                items:
  1660                  type: object
  1661                  properties:
  1662                    code:
  1663                      type: string
  1664                      example: "0"
  1665                    data:
  1666                      type: string
  1667                      example: ""
  1668                    log:
  1669                      type: string
  1670                      example: "not enough gas"
  1671                    info:
  1672                      type: string
  1673                      example: ""
  1674                    gas_wanted:
  1675                      type: string
  1676                      example: "100"
  1677                    gas_used:
  1678                      type: string
  1679                      example: "100"
  1680                    events:
  1681                      type: array
  1682                      nullable: true
  1683                      items:
  1684                        type: object
  1685                        properties:
  1686                          type:
  1687                            type: string
  1688                            example: "app"
  1689                          attributes:
  1690                            type: array
  1691                            nullable: false
  1692                            items:
  1693                              $ref: "#/components/schemas/Event"
  1694                    codespace:
  1695                      type: string
  1696                      example: "ibc"
  1697              begin_block_events:
  1698                type: array
  1699                nullable: true
  1700                items:
  1701                  type: object
  1702                  properties:
  1703                    type:
  1704                      type: string
  1705                      example: "app"
  1706                    attributes:
  1707                      type: array
  1708                      nullable: false
  1709                      items:
  1710                        $ref: "#/components/schemas/Event"
  1711              end_block:
  1712                type: array
  1713                nullable: true
  1714                items:
  1715                  type: object
  1716                  properties:
  1717                    type:
  1718                      type: string
  1719                      example: "app"
  1720                    attributes:
  1721                      type: array
  1722                      nullable: false
  1723                      items:
  1724                        $ref: "#/components/schemas/Event"
  1725              validator_updates:
  1726                type: array
  1727                nullable: true
  1728                items:
  1729                  type: object
  1730                  properties:
  1731                    pub_key:
  1732                      type: object
  1733                      required:
  1734                        - "type"
  1735                        - "value"
  1736                      properties:
  1737                        type:
  1738                          type: string
  1739                          example: "tendermint/PubKeyEd25519"
  1740                        value:
  1741                          type: string
  1742                          example: "9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM="
  1743                    power:
  1744                      type: string
  1745                      example: "300"
  1746              consensus_params_updates:
  1747                $ref: "#/components/schemas/ConsensusParams"
  1748  
  1749      CommitResponse:
  1750        type: object
  1751        required:
  1752          - "jsonrpc"
  1753          - "id"
  1754          - "result"
  1755        properties:
  1756          jsonrpc:
  1757            type: string
  1758            example: "2.0"
  1759          id:
  1760            type: integer
  1761            example: 0
  1762          result:
  1763            required:
  1764              - "signed_header"
  1765              - "canonical"
  1766            properties:
  1767              signed_header:
  1768                required:
  1769                  - "header"
  1770                  - "commit"
  1771                properties:
  1772                  header:
  1773                    $ref: "#/components/schemas/BlockHeader"
  1774                  commit:
  1775                    required:
  1776                      - "height"
  1777                      - "round"
  1778                      - "block_id"
  1779                      - "signatures"
  1780                    properties:
  1781                      height:
  1782                        type: string
  1783                        example: "1311801"
  1784                      round:
  1785                        type: integer
  1786                        example: 0
  1787                      block_id:
  1788                        $ref: "#/components/schemas/BlockID"
  1789                      signatures:
  1790                        type: array
  1791                        items:
  1792                          type: object
  1793                          properties:
  1794                            block_id_flag:
  1795                              type: integer
  1796                              example: 2
  1797                            validator_address:
  1798                              type: string
  1799                              example: "000001E443FD237E4B616E2FA69DF4EE3D49A94F"
  1800                            timestamp:
  1801                              type: string
  1802                              example: "2019-04-22T17:01:58.376629719Z"
  1803                            signature:
  1804                              type: string
  1805                              example: "14jaTQXYRt8kbLKEhdHq7AXycrFImiLuZx50uOjs2+Zv+2i7RTG/jnObD07Jo2ubZ8xd7bNBJMqkgtkd0oQHAw=="
  1806                    type: object
  1807                type: object
  1808              canonical:
  1809                type: boolean
  1810                example: true
  1811            type: object
  1812      ValidatorsResponse:
  1813        type: object
  1814        required:
  1815          - "jsonrpc"
  1816          - "id"
  1817          - "result"
  1818        properties:
  1819          jsonrpc:
  1820            type: string
  1821            example: "2.0"
  1822          id:
  1823            type: integer
  1824            example: 0
  1825          result:
  1826            required:
  1827              - "block_height"
  1828              - "validators"
  1829            properties:
  1830              block_height:
  1831                type: string
  1832                example: "55"
  1833              validators:
  1834                type: array
  1835                items:
  1836                  $ref: "#/components/schemas/ValidatorPriority"
  1837              count:
  1838                type: string
  1839                example: "1"
  1840              total:
  1841                type: string
  1842                example: "25"
  1843            type: object
  1844      GenesisResponse:
  1845        type: object
  1846        required:
  1847          - "jsonrpc"
  1848          - "id"
  1849          - "result"
  1850        properties:
  1851          jsonrpc:
  1852            type: string
  1853            example: "2.0"
  1854          id:
  1855            type: integer
  1856            example: 0
  1857          result:
  1858            type: object
  1859            required:
  1860              - "genesis"
  1861            properties:
  1862              genesis:
  1863                type: object
  1864                required:
  1865                  - "genesis_time"
  1866                  - "chain_id"
  1867                  - "initial_height"
  1868                  - "consensus_params"
  1869                  - "validators"
  1870                  - "app_hash"
  1871                properties:
  1872                  genesis_time:
  1873                    type: string
  1874                    example: "2019-04-22T17:00:00Z"
  1875                  chain_id:
  1876                    type: string
  1877                    example: "cosmoshub-2"
  1878                  initial_height:
  1879                    type: string
  1880                    example: "2"
  1881                  consensus_params:
  1882                    $ref: "#/components/schemas/ConsensusParams"
  1883                  validators:
  1884                    type: array
  1885                    items:
  1886                      type: object
  1887                      properties:
  1888                        address:
  1889                          type: string
  1890                          example: "B00A6323737F321EB0B8D59C6FD497A14B60938A"
  1891                        pub_key:
  1892                          required:
  1893                            - "type"
  1894                            - "value"
  1895                          properties:
  1896                            type:
  1897                              type: string
  1898                              example: "tendermint/PubKeyEd25519"
  1899                            value:
  1900                              type: string
  1901                              example: "cOQZvh/h9ZioSeUMZB/1Vy1Xo5x2sjrVjlE/qHnYifM="
  1902                          type: object
  1903                        power:
  1904                          type: string
  1905                          example: "9328525"
  1906                        name:
  1907                          type: string
  1908                          example: "Certus One"
  1909                  app_hash:
  1910                    type: string
  1911                    example: ""
  1912                  app_state:
  1913                    properties: {}
  1914                    type: object
  1915  
  1916      DumpConsensusResponse:
  1917        type: object
  1918        required:
  1919          - "jsonrpc"
  1920          - "id"
  1921          - "result"
  1922        properties:
  1923          jsonrpc:
  1924            type: string
  1925            example: "2.0"
  1926          id:
  1927            type: integer
  1928            example: 0
  1929          result:
  1930            required:
  1931              - "round_state"
  1932              - "peers"
  1933            properties:
  1934              round_state:
  1935                required:
  1936                  - "height"
  1937                  - "round"
  1938                  - "step"
  1939                  - "start_time"
  1940                  - "commit_time"
  1941                  - "validators"
  1942                  - "proposal"
  1943                  - "proposal_block"
  1944                  - "proposal_block_parts"
  1945                  - "locked_round"
  1946                  - "locked_block"
  1947                  - "locked_block_parts"
  1948                  - "valid_round"
  1949                  - "valid_block"
  1950                  - "valid_block_parts"
  1951                  - "votes"
  1952                  - "commit_round"
  1953                  - "last_commit"
  1954                  - "last_validators"
  1955                  - "triggered_timeout_precommit"
  1956                properties:
  1957                  height:
  1958                    type: string
  1959                    example: "1311801"
  1960                  round:
  1961                    type: integer
  1962                    example: 0
  1963                  step:
  1964                    type: integer
  1965                    example: 3
  1966                  start_time:
  1967                    type: string
  1968                    example: "2019-08-05T11:28:49.064658805Z"
  1969                  commit_time:
  1970                    type: string
  1971                    example: "2019-08-05T11:28:44.064658805Z"
  1972                  validators:
  1973                    required:
  1974                      - "validators"
  1975                      - "proposer"
  1976                    properties:
  1977                      validators:
  1978                        type: array
  1979                        items:
  1980                          $ref: "#/components/schemas/ValidatorPriority"
  1981                      proposer:
  1982                        $ref: "#/components/schemas/ValidatorPriority"
  1983                    type: object
  1984                  locked_round:
  1985                    type: integer
  1986                    example: -1
  1987                  valid_round:
  1988                    type: string
  1989                    example: "-1"
  1990                  votes:
  1991                    type: array
  1992                    items:
  1993                      type: object
  1994                      properties:
  1995                        round:
  1996                          type: string
  1997                          example: "0"
  1998                        prevotes:
  1999                          type: array
  2000                          nullable: true
  2001                          items:
  2002                            type: string
  2003                          example:
  2004                            - "nil-Vote"
  2005                            - "Vote{19:46A3F8B8393B 1311801/00/1(Prevote) 000000000000 64CE682305CB @ 2019-08-05T11:28:47.374703444Z}"
  2006                        prevotes_bit_array:
  2007                          type: string
  2008                          example: "BA{100:___________________x________________________________________________________________________________} 209706/170220253 = 0.00"
  2009                        precommits:
  2010                          type: array
  2011                          nullable: true
  2012                          items:
  2013                            type: string
  2014                          example:
  2015                            - "nil-Vote"
  2016                        precommits_bit_array:
  2017                          type: string
  2018                          example: "BA{100:____________________________________________________________________________________________________} 0/170220253 = 0.00"
  2019                  commit_round:
  2020                    type: integer
  2021                    example: -1
  2022                  last_commit:
  2023                    nullable: true
  2024                    required:
  2025                      - "votes"
  2026                      - "votes_bit_array"
  2027                      - "peer_maj_23s"
  2028                    properties:
  2029                      votes:
  2030                        type: array
  2031                        items:
  2032                          type: string
  2033                        example:
  2034                          - "Vote{0:000001E443FD 1311800/00/2(Precommit) 3071ADB27D1A 77EE1B6B6847 @ 2019-08-05T11:28:43.810128139Z}"
  2035                      votes_bit_array:
  2036                        type: string
  2037                        example: "BA{100:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} 170220253/170220253 = 1.00"
  2038                      peer_maj_23s:
  2039                        properties: {}
  2040                        type: object
  2041                    type: object
  2042                  last_validators:
  2043                    required:
  2044                      - "validators"
  2045                      - "proposer"
  2046                    properties:
  2047                      validators:
  2048                        type: array
  2049                        items:
  2050                          $ref: "#/components/schemas/ValidatorPriority"
  2051                      proposer:
  2052                        $ref: "#/components/schemas/ValidatorPriority"
  2053                    type: object
  2054                  triggered_timeout_precommit:
  2055                    type: boolean
  2056                    example: false
  2057                type: object
  2058              peers:
  2059                type: array
  2060                items:
  2061                  type: object
  2062                  properties:
  2063                    node_address:
  2064                      type: string
  2065                      example: "357f6a6c1d27414579a8185060aa8adf9815c43c@68.183.41.207:26656"
  2066                    peer_state:
  2067                      required:
  2068                        - "round_state"
  2069                        - "stats"
  2070                      properties:
  2071                        round_state:
  2072                          required:
  2073                            - "height"
  2074                            - "round"
  2075                            - "step"
  2076                            - "start_time"
  2077                            - "proposal"
  2078                            - "proposal_block_parts_header"
  2079                            - "proposal_block_parts"
  2080                            - "proposal_pol_round"
  2081                            - "proposal_pol"
  2082                            - "prevotes"
  2083                            - "precommits"
  2084                            - "last_commit_round"
  2085                            - "last_commit"
  2086                            - "catchup_commit_round"
  2087                            - "catchup_commit"
  2088                          properties:
  2089                            height:
  2090                              type: string
  2091                              example: "1311801"
  2092                            round:
  2093                              type: string
  2094                              example: "0"
  2095                            step:
  2096                              type: integer
  2097                              example: 3
  2098                            start_time:
  2099                              type: string
  2100                              example: "2019-08-05T11:28:49.21730864Z"
  2101                            proposal:
  2102                              type: boolean
  2103                              example: false
  2104                            proposal_block_parts_header:
  2105                              required:
  2106                                - "total"
  2107                                - "hash"
  2108                              properties:
  2109                                total:
  2110                                  type: integer
  2111                                  example: 0
  2112                                hash:
  2113                                  type: string
  2114                                  example: ""
  2115                              type: object
  2116                            proposal_pol_round:
  2117                              nullable: true
  2118                              type: integer
  2119                              example: -1
  2120                            proposal_pol:
  2121                              nullable: true
  2122                              type: string
  2123                              example: "____________________________________________________________________________________________________"
  2124                            prevotes:
  2125                              nullable: true
  2126                              type: string
  2127                              example: "___________________x________________________________________________________________________________"
  2128                            precommits:
  2129                              nullable: true
  2130                              type: string
  2131                              example: "____________________________________________________________________________________________________"
  2132                            last_commit_round:
  2133                              nullable: true
  2134                              type: integer
  2135                              example: 0
  2136                            last_commit:
  2137                              nullable: true
  2138                              type: string
  2139                              example: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  2140                            catchup_commit_round:
  2141                              type: integer
  2142                              nullable: true
  2143                              example: -1
  2144                            catchup_commit:
  2145                              nullable: true
  2146                              type: string
  2147                              example: "____________________________________________________________________________________________________"
  2148                          type: object
  2149                        stats:
  2150                          required:
  2151                            - "votes"
  2152                            - "block_parts"
  2153                          properties:
  2154                            votes:
  2155                              type: string
  2156                              example: "1159558"
  2157                            block_parts:
  2158                              type: string
  2159                              example: "4786"
  2160                          type: object
  2161                      type: object
  2162            type: object
  2163  
  2164      ConsensusStateResponse:
  2165        type: object
  2166        required:
  2167          - "jsonrpc"
  2168          - "id"
  2169          - "result"
  2170        properties:
  2171          jsonrpc:
  2172            type: string
  2173            example: "2.0"
  2174          id:
  2175            type: integer
  2176            example: 0
  2177          result:
  2178            required:
  2179              - "round_state"
  2180            properties:
  2181              round_state:
  2182                required:
  2183                  - "height/round/step"
  2184                  - "start_time"
  2185                  - "proposal_block_hash"
  2186                  - "locked_block_hash"
  2187                  - "valid_block_hash"
  2188                  - "height_vote_set"
  2189                  - "proposer"
  2190                properties:
  2191                  height/round/step:
  2192                    type: string
  2193                    example: "1262197/0/8"
  2194                  start_time:
  2195                    type: string
  2196                    example: "2019-08-01T11:52:38.962730289Z"
  2197                  proposal_block_hash:
  2198                    type: string
  2199                    example: "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009"
  2200                  locked_block_hash:
  2201                    type: string
  2202                    example: "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009"
  2203                  valid_block_hash:
  2204                    type: string
  2205                    example: "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009"
  2206                  height_vote_set:
  2207                    type: array
  2208                    items:
  2209                      type: object
  2210                      properties:
  2211                        round:
  2212                          type: integer
  2213                          example: 0
  2214                        prevotes:
  2215                          type: array
  2216                          items:
  2217                            type: string
  2218                          example:
  2219                            - "Vote{0:000001E443FD 1262197/00/1(Prevote) 634ADAF1F402 7BB974E1BA40 @ 2019-08-01T11:52:35.513572509Z}"
  2220                            - "nil-Vote"
  2221                        prevotes_bit_array:
  2222                          type: string
  2223                          example: "BA{100:xxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} 169753436/170151262 = 1.00"
  2224                        precommits:
  2225                          type: array
  2226                          items:
  2227                            type: string
  2228                          example:
  2229                            - "Vote{5:18C78D135C9D 1262197/00/2(Precommit) 634ADAF1F402 8B5EFFFEABCD @ 2019-08-01T11:52:36.25600005Z}"
  2230                            - "nil-Vote"
  2231                        precommits_bit_array:
  2232                          type: string
  2233                          example: "BA{100:xxxxxx_xxxxx_xxxx_x_xxx_xx_xx_xx__x_x_x__xxxxxxxxxxxxxx_xxxx_xx_xxxxxx_xxxxxxxx_xxxx_xxx_x_xxxx__xxx} 118726247/170151262 = 0.70"
  2234                  proposer:
  2235                    type: object
  2236                    properties:
  2237                      address:
  2238                        type: string
  2239                        example: "D540AB022088612AC74B287D076DBFBC4A377A2E"
  2240                      index:
  2241                        type: integer
  2242                        example: 0
  2243                type: object
  2244            type: object
  2245  
  2246      ConsensusParamsResponse:
  2247        type: object
  2248        required:
  2249          - "jsonrpc"
  2250          - "id"
  2251          - "result"
  2252        properties:
  2253          jsonrpc:
  2254            type: string
  2255            example: "2.0"
  2256          id:
  2257            type: integer
  2258            example: 0
  2259          result:
  2260            type: object
  2261            required:
  2262              - "block_height"
  2263              - "consensus_params"
  2264            properties:
  2265              block_height:
  2266                type: string
  2267                example: "1"
  2268              consensus_params:
  2269                $ref: "#/components/schemas/ConsensusParams"
  2270  
  2271      NumUnconfirmedTransactionsResponse:
  2272        type: object
  2273        required:
  2274          - "jsonrpc"
  2275          - "id"
  2276          - "result"
  2277        properties:
  2278          jsonrpc:
  2279            type: string
  2280            example: "2.0"
  2281          id:
  2282            type: integer
  2283            example: 0
  2284          result:
  2285            required:
  2286              - "n_txs"
  2287              - "total"
  2288              - "total_bytes"
  2289            properties:
  2290              n_txs:
  2291                type: string
  2292                example: "31"
  2293              total:
  2294                type: string
  2295                example: "82"
  2296              total_bytes:
  2297                type: string
  2298                example: "19974"
  2299            #          txs:
  2300            #            type: array
  2301            #            nullable: true
  2302            #            items:
  2303            #              type: string
  2304            #              nullable: true
  2305            #            example:
  2306            #              - "gAPwYl3uCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUA75/FmYq9WymsOBJ0XSJ8yV8zmQKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhQbrvwbvlNiT+Yjr86G+YQNx7kRVgowjE1xDQoUjJyJG+WaWBwSiGannBRFdrbma+8SFK2m+1oxgILuQLO55n8mWfnbIzyPCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUQNGfkmhTNMis4j+dyMDIWXdIPiYKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhS8sL0D0wwgGCItQwVowak5YB38KRIUCg4KBXVhdG9tEgUxMDA1NBDoxRgaagom61rphyECn8x7emhhKdRCB2io7aS/6Cpuq5NbVqbODmqOT3jWw6kSQKUresk+d+Gw0BhjiggTsu8+1voW+VlDCQ1GRYnMaFOHXhyFv7BCLhFWxLxHSAYT8a5XqoMayosZf9mANKdXArA="
  2307            type: object
  2308  
  2309      UnconfirmedTransactionsResponse:
  2310        type: object
  2311        required:
  2312          - "jsonrpc"
  2313          - "id"
  2314          - "result"
  2315        properties:
  2316          jsonrpc:
  2317            type: string
  2318            example: "2.0"
  2319          id:
  2320            type: integer
  2321            example: 0
  2322          result:
  2323            required:
  2324              - "n_txs"
  2325              - "total"
  2326              - "total_bytes"
  2327              - "txs"
  2328            properties:
  2329              n_txs:
  2330                type: string
  2331                example: "82"
  2332              total:
  2333                type: string
  2334                example: "82"
  2335              total_bytes:
  2336                type: string
  2337                example: "19974"
  2338              txs:
  2339                type: array
  2340                nullable: true
  2341                items:
  2342                  type: string
  2343                  nullable: true
  2344                example:
  2345                  - "gAPwYl3uCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUA75/FmYq9WymsOBJ0XSJ8yV8zmQKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhQbrvwbvlNiT+Yjr86G+YQNx7kRVgowjE1xDQoUjJyJG+WaWBwSiGannBRFdrbma+8SFK2m+1oxgILuQLO55n8mWfnbIzyPCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUQNGfkmhTNMis4j+dyMDIWXdIPiYKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhS8sL0D0wwgGCItQwVowak5YB38KRIUCg4KBXVhdG9tEgUxMDA1NBDoxRgaagom61rphyECn8x7emhhKdRCB2io7aS/6Cpuq5NbVqbODmqOT3jWw6kSQKUresk+d+Gw0BhjiggTsu8+1voW+VlDCQ1GRYnMaFOHXhyFv7BCLhFWxLxHSAYT8a5XqoMayosZf9mANKdXArA="
  2346            type: object
  2347  
  2348      TxSearchResponse:
  2349        type: object
  2350        required:
  2351          - "jsonrpc"
  2352          - "id"
  2353          - "result"
  2354        properties:
  2355          jsonrpc:
  2356            type: string
  2357            example: "2.0"
  2358          id:
  2359            type: integer
  2360            example: 0
  2361          result:
  2362            required:
  2363              - "txs"
  2364              - "total_count"
  2365            properties:
  2366              txs:
  2367                type: array
  2368                items:
  2369                  type: object
  2370                  properties:
  2371                    hash:
  2372                      type: string
  2373                      example: "D70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED"
  2374                    height:
  2375                      type: string
  2376                      example: "1000"
  2377                    index:
  2378                      type: integer
  2379                      example: 0
  2380                    tx_result:
  2381                      required:
  2382                        - "log"
  2383                        - "gas_wanted"
  2384                        - "gas_used"
  2385                        - "tags"
  2386                      properties:
  2387                        log:
  2388                          type: string
  2389                          example: '[{"msg_index":"0","success":true,"log":""}]'
  2390                        gas_wanted:
  2391                          type: string
  2392                          example: "200000"
  2393                        gas_used:
  2394                          type: string
  2395                          example: "28596"
  2396                        tags:
  2397                          $ref: "#/components/schemas/Event"
  2398                      type: object
  2399                    tx:
  2400                      type: string
  2401                      example: "5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU="
  2402                    proof:
  2403                      required:
  2404                        - "RootHash"
  2405                        - "Data"
  2406                        - "Proof"
  2407                      properties:
  2408                        RootHash:
  2409                          type: string
  2410                          example: "72FE6BF6D4109105357AECE0A82E99D0F6288854D16D8767C5E72C57F876A14D"
  2411                        Data:
  2412                          type: string
  2413                          example: "5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU="
  2414                        Proof:
  2415                          required:
  2416                            - "total"
  2417                            - "index"
  2418                            - "leaf_hash"
  2419                            - "aunts"
  2420                          properties:
  2421                            total:
  2422                              type: string
  2423                              example: "2"
  2424                            index:
  2425                              type: string
  2426                              example: "0"
  2427                            leaf_hash:
  2428                              type: string
  2429                              example: "eoJxKCzF3m72Xiwb/Q43vJ37/2Sx8sfNS9JKJohlsYI="
  2430                            aunts:
  2431                              type: array
  2432                              items:
  2433                                type: string
  2434                              example:
  2435                                - "eWb+HG/eMmukrQj4vNGyFYb3nKQncAWacq4HF5eFzDY="
  2436                          type: object
  2437                      type: object
  2438              total_count:
  2439                type: string
  2440                example: "2"
  2441            type: object
  2442  
  2443      TxResponse:
  2444        type: object
  2445        required:
  2446          - "jsonrpc"
  2447          - "id"
  2448          - "result"
  2449        properties:
  2450          jsonrpc:
  2451            type: string
  2452            example: "2.0"
  2453          id:
  2454            type: integer
  2455            example: 0
  2456          result:
  2457            required:
  2458              - "hash"
  2459              - "height"
  2460              - "index"
  2461              - "tx_result"
  2462              - "tx"
  2463            properties:
  2464              hash:
  2465                type: string
  2466                example: "D70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED"
  2467              height:
  2468                type: string
  2469                example: "1000"
  2470              index:
  2471                type: integer
  2472                example: 0
  2473              tx_result:
  2474                required:
  2475                  - "log"
  2476                  - "gas_wanted"
  2477                  - "gas_used"
  2478                  - "tags"
  2479                properties:
  2480                  log:
  2481                    type: string
  2482                    example: '[{"msg_index":"0","success":true,"log":""}]'
  2483                  gas_wanted:
  2484                    type: string
  2485                    example: "200000"
  2486                  gas_used:
  2487                    type: string
  2488                    example: "28596"
  2489                  tags:
  2490                    type: array
  2491                    items:
  2492                      $ref: "#/components/schemas/Event"
  2493                type: object
  2494              tx:
  2495                type: string
  2496                example: "5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU="
  2497            type: object
  2498  
  2499      ABCIInfoResponse:
  2500        type: object
  2501        required:
  2502          - "jsonrpc"
  2503          - "id"
  2504        properties:
  2505          jsonrpc:
  2506            type: string
  2507            example: "2.0"
  2508          id:
  2509            type: integer
  2510            example: 0
  2511          result:
  2512            required:
  2513              - "response"
  2514            properties:
  2515              response:
  2516                required:
  2517                  - "data"
  2518                  - "app_version"
  2519                  - "version"
  2520                properties:
  2521                  data:
  2522                    type: string
  2523                    example: '{"size":0}'
  2524                  version:
  2525                    type: string
  2526                    example: "0.16.1"
  2527                  app_version:
  2528                    type: string
  2529                    example: "1314126"
  2530                type: object
  2531            type: object
  2532  
  2533      ABCIQueryResponse:
  2534        type: object
  2535        required:
  2536          - "error"
  2537          - "result"
  2538          - "id"
  2539          - "jsonrpc"
  2540        properties:
  2541          error:
  2542            type: string
  2543            example: ""
  2544          result:
  2545            required:
  2546              - "response"
  2547            properties:
  2548              response:
  2549                required:
  2550                  - "log"
  2551                  - "height"
  2552                  - "proof"
  2553                  - "value"
  2554                  - "key"
  2555                  - "index"
  2556                  - "code"
  2557                properties:
  2558                  log:
  2559                    type: string
  2560                    example: "exists"
  2561                  height:
  2562                    type: string
  2563                    example: "0"
  2564                  proof:
  2565                    type: string
  2566                    example: "010114FED0DAD959F36091AD761C922ABA3CBF1D8349990101020103011406AA2262E2F448242DF2C2607C3CDC705313EE3B0001149D16177BC71E445476174622EA559715C293740C"
  2567                  value:
  2568                    type: string
  2569                    example: "61626364"
  2570                  key:
  2571                    type: string
  2572                    example: "61626364"
  2573                  index:
  2574                    type: string
  2575                    example: "-1"
  2576                  code:
  2577                    type: string
  2578                    example: "0"
  2579                type: object
  2580            type: object
  2581          id:
  2582            type: integer
  2583            example: 0
  2584          jsonrpc:
  2585            type: string
  2586            example: "2.0"
  2587  
  2588      BroadcastEvidenceResponse:
  2589        type: object
  2590        required:
  2591          - "id"
  2592          - "jsonrpc"
  2593        properties:
  2594          error:
  2595            type: string
  2596            example: ""
  2597          result:
  2598            type: string
  2599            example: ""
  2600          id:
  2601            type: integer
  2602            example: 0
  2603          jsonrpc:
  2604            type: string
  2605            example: "2.0"
  2606  
  2607      BroadcastTxCommitResponse:
  2608        type: object
  2609        required:
  2610          - "error"
  2611          - "result"
  2612          - "id"
  2613          - "jsonrpc"
  2614        properties:
  2615          error:
  2616            type: string
  2617            example: ""
  2618          result:
  2619            required:
  2620              - "height"
  2621              - "hash"
  2622              - "deliver_tx"
  2623              - "check_tx"
  2624            properties:
  2625              height:
  2626                type: string
  2627                example: "26682"
  2628              hash:
  2629                type: string
  2630                example: "75CA0F856A4DA078FC4911580360E70CEFB2EBEE"
  2631              deliver_tx:
  2632                required:
  2633                  - "log"
  2634                  - "data"
  2635                  - "code"
  2636                properties:
  2637                  log:
  2638                    type: string
  2639                    example: ""
  2640                  data:
  2641                    type: string
  2642                    example: ""
  2643                  code:
  2644                    type: string
  2645                    example: "0"
  2646                type: object
  2647              check_tx:
  2648                required:
  2649                  - "log"
  2650                  - "data"
  2651                  - "code"
  2652                properties:
  2653                  log:
  2654                    type: string
  2655                    example: ""
  2656                  data:
  2657                    type: string
  2658                    example: ""
  2659                  code:
  2660                    type: string
  2661                    example: "0"
  2662                type: object
  2663            type: object
  2664          id:
  2665            type: integer
  2666            example: 0
  2667          jsonrpc:
  2668            type: string
  2669            example: "2.0"
  2670  
  2671      CheckTxResponse:
  2672        type: object
  2673        required:
  2674          - "error"
  2675          - "result"
  2676          - "id"
  2677          - "jsonrpc"
  2678        properties:
  2679          error:
  2680            type: string
  2681            example: ""
  2682          result:
  2683            required:
  2684              - "log"
  2685              - "data"
  2686              - "code"
  2687            properties:
  2688              code:
  2689                type: string
  2690                example: "0"
  2691              data:
  2692                type: string
  2693                example: ""
  2694              log:
  2695                type: string
  2696                example: ""
  2697              info:
  2698                type: string
  2699                example: ""
  2700              gas_wanted:
  2701                type: string
  2702                example: "1"
  2703              gas_used:
  2704                type: string
  2705                example: "0"
  2706              events:
  2707                type: array
  2708                nullable: true
  2709                items:
  2710                  type: object
  2711                  properties:
  2712                    type:
  2713                      type: string
  2714                      example: "app"
  2715                    attributes:
  2716                      type: array
  2717                      nullable: false
  2718                      items:
  2719                        $ref: "#/components/schemas/Event"
  2720              codespace:
  2721                type: string
  2722                example: "bank"
  2723            type: object
  2724          id:
  2725            type: integer
  2726            example: 0
  2727          jsonrpc:
  2728            type: string
  2729            example: "2.0"
  2730  
  2731      BroadcastTxResponse:
  2732        type: object
  2733        required:
  2734          - "jsonrpc"
  2735          - "id"
  2736          - "result"
  2737          - "error"
  2738        properties:
  2739          jsonrpc:
  2740            type: string
  2741            example: "2.0"
  2742          id:
  2743            type: integer
  2744            example: 0
  2745          result:
  2746            required:
  2747              - "code"
  2748              - "data"
  2749              - "log"
  2750              - "hash"
  2751            properties:
  2752              code:
  2753                type: string
  2754                example: "0"
  2755              data:
  2756                type: string
  2757                example: ""
  2758              log:
  2759                type: string
  2760                example: ""
  2761              codespace:
  2762                type: string
  2763                example: "ibc"
  2764              hash:
  2765                type: string
  2766                example: "0D33F2F03A5234F38706E43004489E061AC40A2E"
  2767            type: object
  2768          error:
  2769            type: string
  2770            example: ""
  2771  
  2772      dialResp:
  2773        type: object
  2774        properties:
  2775          Log:
  2776            type: string
  2777            example: "Dialing seeds in progress. See /net_info for details"
  2778  
  2779      ###### Reuseable types ######
  2780  
  2781      # Validator type with proposer prioirty
  2782      ValidatorPriority:
  2783        type: object
  2784        properties:
  2785          address:
  2786            type: string
  2787            example: "000001E443FD237E4B616E2FA69DF4EE3D49A94F"
  2788          pub_key:
  2789            required:
  2790              - "type"
  2791              - "value"
  2792            properties:
  2793              type:
  2794                type: string
  2795                example: "tendermint/PubKeyEd25519"
  2796              value:
  2797                type: string
  2798                example: "9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM="
  2799            type: object
  2800          voting_power:
  2801            type: string
  2802            example: "239727"
  2803          proposer_priority:
  2804            type: string
  2805            example: "-11896414"
  2806  
  2807      # Stripped down validator
  2808      Validator:
  2809        type: object
  2810        properties:
  2811          pub_key:
  2812            $ref: "#/components/schemas/PubKey"
  2813          voting_power:
  2814            type: integer
  2815          address:
  2816            type: string
  2817  
  2818      # Consensus Params
  2819      ConsensusParams:
  2820        type: object
  2821        nullable: true
  2822        required:
  2823          - "block"
  2824          - "evidence"
  2825          - "validator"
  2826        properties:
  2827          block:
  2828            type: object
  2829            required:
  2830              - "max_bytes"
  2831              - "max_gas"
  2832              - "time_iota_ms"
  2833            properties:
  2834              max_bytes:
  2835                type: string
  2836                example: "22020096"
  2837              max_gas:
  2838                type: string
  2839                example: "1000"
  2840              time_iota_ms:
  2841                type: string
  2842                example: "1000"
  2843          evidence:
  2844            type: object
  2845            required:
  2846              - "max_age"
  2847            properties:
  2848              max_age:
  2849                type: string
  2850                example: "100000"
  2851          validator:
  2852            type: object
  2853            required:
  2854              - "pub_key_types"
  2855            properties:
  2856              pub_key_types:
  2857                type: array
  2858                items:
  2859                  type: string
  2860                example:
  2861                  - "ed25519"
  2862  
  2863      # Events in tendermint
  2864      Event:
  2865        type: object
  2866        properties:
  2867          key:
  2868            type: string
  2869            example: "YWN0aW9u"
  2870          value:
  2871            type: string
  2872            example: "c2VuZA=="
  2873          index:
  2874            type: boolean
  2875            example: false
  2876  
  2877      # Block Header
  2878      BlockHeader:
  2879        required:
  2880          - "version"
  2881          - "chain_id"
  2882          - "height"
  2883          - "time"
  2884          - "last_block_id"
  2885          - "last_commit_hash"
  2886          - "data_hash"
  2887          - "validators_hash"
  2888          - "next_validators_hash"
  2889          - "consensus_hash"
  2890          - "app_hash"
  2891          - "last_results_hash"
  2892          - "evidence_hash"
  2893          - "proposer_address"
  2894        properties:
  2895          version:
  2896            required:
  2897              - "block"
  2898              - "app"
  2899            properties:
  2900              block:
  2901                type: string
  2902                example: "10"
  2903              app:
  2904                type: string
  2905                example: "0"
  2906            type: object
  2907          chain_id:
  2908            type: string
  2909            example: "cosmoshub-2"
  2910          height:
  2911            type: string
  2912            example: "12"
  2913          time:
  2914            type: string
  2915            example: "2019-04-22T17:01:51.701356223Z"
  2916          last_block_id:
  2917            $ref: "#/components/schemas/BlockID"
  2918          last_commit_hash:
  2919            type: string
  2920            example: "21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812"
  2921          data_hash:
  2922            type: string
  2923            example: "970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73"
  2924          validators_hash:
  2925            type: string
  2926            example: "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0"
  2927          next_validators_hash:
  2928            type: string
  2929            example: "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0"
  2930          consensus_hash:
  2931            type: string
  2932            example: "0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8"
  2933          app_hash:
  2934            type: string
  2935            example: "223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C"
  2936          last_results_hash:
  2937            type: string
  2938            example: ""
  2939          evidence_hash:
  2940            type: string
  2941            example: ""
  2942          proposer_address:
  2943            type: string
  2944            example: "D540AB022088612AC74B287D076DBFBC4A377A2E"
  2945        type: object
  2946  
  2947      BlockID:
  2948        required:
  2949          - "hash"
  2950          - "parts"
  2951        properties:
  2952          hash:
  2953            type: string
  2954            example: "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7"
  2955          parts:
  2956            required:
  2957              - "total"
  2958              - "hash"
  2959            properties:
  2960              total:
  2961                type: integer
  2962                example: 1
  2963              hash:
  2964                type: string
  2965                example: "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
  2966            type: object