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