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