github.com/Finschia/ostracon@v1.1.5/rpc/openapi/openapi.yaml (about)

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