mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-26 00:05:18 +00:00
cd754a25d9
* feat: add swagger * add version info for mainnet * feat: update swagger * fix: type in get params path * feat: example for creating cdp * feat: example broadcast signed tx * feat: examples for depositing to cdp * added README with example cdp create rest-server request (#358) * fix: make link-check happy Co-authored-by: Denali Marsh <denalimarsh@gmail.com>
2564 lines
73 KiB
YAML
2564 lines
73 KiB
YAML
---
|
|
swagger: "2.0"
|
|
info:
|
|
version: "3.0"
|
|
title: Kava Light Client RPC
|
|
description: A REST interface for state queries, transaction generation and broadcasting.
|
|
tags:
|
|
- name: Transactions
|
|
description: Search, encode, or broadcast transactions.
|
|
- name: Tendermint RPC
|
|
description: Tendermint APIs, such as query blocks, transactions and validatorset
|
|
- name: Auth
|
|
description: Authenticate accounts
|
|
- name: Bank
|
|
description: Create and broadcast transactions
|
|
- name: Staking
|
|
description: Stake module APIs
|
|
- name: Governance
|
|
description: Governance module APIs
|
|
- name: Slashing
|
|
description: Slashing module APIs
|
|
- name: Distribution
|
|
description: Fee distribution module APIs
|
|
- name: Supply
|
|
description: Supply module APIs
|
|
- name: version
|
|
- name: Mint
|
|
description: Minting module APIs
|
|
- name: Misc
|
|
description: Query app version
|
|
schemes:
|
|
- https
|
|
host: data.kava.io
|
|
securityDefinitions:
|
|
kms:
|
|
type: basic
|
|
paths:
|
|
/node_info:
|
|
get:
|
|
description: Information about the connected node
|
|
summary: The properties of the connected node
|
|
tags:
|
|
- Tendermint RPC
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: Node status
|
|
schema:
|
|
type: object
|
|
properties:
|
|
application_version:
|
|
properties:
|
|
build_tags:
|
|
type: string
|
|
client_name:
|
|
type: string
|
|
commit:
|
|
type: string
|
|
go:
|
|
type: string
|
|
name:
|
|
type: string
|
|
server_name:
|
|
type: string
|
|
version:
|
|
type: string
|
|
node_info:
|
|
properties:
|
|
id:
|
|
type: string
|
|
moniker:
|
|
type: string
|
|
example: validator-name
|
|
protocol_version:
|
|
properties:
|
|
p2p:
|
|
type: string
|
|
example: 7
|
|
block:
|
|
type: string
|
|
example: 10
|
|
app:
|
|
type: string
|
|
example: 0
|
|
network:
|
|
type: string
|
|
example: kava-2
|
|
channels:
|
|
type: string
|
|
listen_addr:
|
|
type: string
|
|
example: 192.168.56.1:26656
|
|
version:
|
|
description: Tendermint version
|
|
type: string
|
|
example: 0.15.0
|
|
other:
|
|
description: more information on versions
|
|
type: object
|
|
properties:
|
|
tx_index:
|
|
type: string
|
|
example: on
|
|
rpc_address:
|
|
type: string
|
|
example: tcp://0.0.0.0:26657
|
|
500:
|
|
description: Failed to query node status
|
|
/syncing:
|
|
get:
|
|
summary: Syncing state of node
|
|
tags:
|
|
- Tendermint RPC
|
|
description: Get the syncing status of the node
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: Node syncing status
|
|
schema:
|
|
type: object
|
|
properties:
|
|
syncing:
|
|
type: boolean
|
|
500:
|
|
description: Server internal error
|
|
/blocks/latest:
|
|
get:
|
|
summary: Get the latest block
|
|
tags:
|
|
- Tendermint RPC
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: The latest block
|
|
schema:
|
|
$ref: "#/definitions/BlockQuery"
|
|
500:
|
|
description: Server internal error
|
|
/blocks/{height}:
|
|
get:
|
|
summary: Get a block at a certain height
|
|
tags:
|
|
- Tendermint RPC
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: height
|
|
description: Block height
|
|
required: true
|
|
type: number
|
|
x-example: 1
|
|
responses:
|
|
200:
|
|
description: The block at a specific height
|
|
schema:
|
|
$ref: "#/definitions/BlockQuery"
|
|
404:
|
|
description: Request block height doesn't
|
|
400:
|
|
description: Invalid height
|
|
500:
|
|
description: Server internal error
|
|
/validatorsets/latest:
|
|
get:
|
|
summary: Get the latest validator set
|
|
tags:
|
|
- Tendermint RPC
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: The validator set at the latest block height
|
|
schema:
|
|
type: object
|
|
properties:
|
|
block_height:
|
|
type: string
|
|
validators:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/TendermintValidator"
|
|
500:
|
|
description: Server internal error
|
|
/validatorsets/{height}:
|
|
get:
|
|
summary: Get a validator set a certain height
|
|
tags:
|
|
- Tendermint RPC
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: height
|
|
description: Block height
|
|
required: true
|
|
type: number
|
|
x-example: 1
|
|
responses:
|
|
200:
|
|
description: The validator set at a specific block height
|
|
schema:
|
|
type: object
|
|
properties:
|
|
block_height:
|
|
type: string
|
|
validators:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/TendermintValidator"
|
|
404:
|
|
description: Block at height not available
|
|
400:
|
|
description: Invalid height
|
|
500:
|
|
description: Server internal error
|
|
/txs/{hash}:
|
|
get:
|
|
summary: Get a Tx by hash
|
|
tags:
|
|
- Transactions
|
|
description: Retrieve a transaction using its hash.
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: hash
|
|
description: Tx hash
|
|
required: true
|
|
type: string
|
|
x-example: BCBE20E8D46758B96AE5883B792858296AC06E51435490FBDCAE25A72B3CC76B
|
|
responses:
|
|
200:
|
|
description: Tx with the provided hash
|
|
schema:
|
|
$ref: "#/definitions/TxQuery"
|
|
500:
|
|
description: Internal Server Error
|
|
/txs:
|
|
get:
|
|
tags:
|
|
- Transactions
|
|
summary: Search transactions
|
|
description: Search transactions by events.
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: query
|
|
name: message.action
|
|
type: string
|
|
description: "transaction events such as 'message.action=send' which results in the following endpoint: 'GET /txs?message.action=send'. note that each module documents its own events. look for xx_events.md in the corresponding cosmos-sdk/docs/spec directory"
|
|
x-example: "send"
|
|
- in: query
|
|
name: message.sender
|
|
type: string
|
|
description: "transaction tags with sender: 'GET /txs?message.action=send&message.sender=kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv'"
|
|
x-example: "kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv"
|
|
- in: query
|
|
name: page
|
|
description: Page number
|
|
type: integer
|
|
x-example: 1
|
|
- in: query
|
|
name: limit
|
|
description: Maximum number of items per page
|
|
type: integer
|
|
x-example: 1
|
|
responses:
|
|
200:
|
|
description: All txs matching the provided events
|
|
schema:
|
|
$ref: "#/definitions/PaginatedQueryTxs"
|
|
400:
|
|
description: Invalid search events
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
tags:
|
|
- Transactions
|
|
summary: Broadcast a signed tx
|
|
description: Broadcast a signed tx to a full node
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: txBroadcast
|
|
description: The tx must be a signed StdTx. The supported broadcast modes include `"block"`(return after tx commit), `"sync"`(return afer CheckTx) and `"async"`(return right away).
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tx:
|
|
$ref: "#/definitions/StdTx"
|
|
mode:
|
|
type: string
|
|
example: sync
|
|
responses:
|
|
200:
|
|
description: Tx broadcasting result
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
500:
|
|
description: Internal Server Error
|
|
/txs/encode:
|
|
post:
|
|
tags:
|
|
- Transactions
|
|
summary: Encode a transaction to the Amino wire format
|
|
description: Encode a transaction (signed or not) from JSON to base64-encoded Amino serialized bytes
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: tx
|
|
description: The tx to encode
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tx:
|
|
$ref: "#/definitions/StdTx"
|
|
responses:
|
|
200:
|
|
description: The tx was successfully decoded and re-encoded
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tx:
|
|
type: string
|
|
example: The base64-encoded Amino-serialized bytes for the tx
|
|
400:
|
|
description: The tx was malformated
|
|
500:
|
|
description: Server internal error
|
|
/txs/decode:
|
|
post:
|
|
tags:
|
|
- Transactions
|
|
summary: Decode a transaction from the Amino wire format
|
|
description: Decode a transaction (signed or not) from base64-encoded Amino serialized bytes to JSON
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: tx
|
|
description: The tx to decode
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tx:
|
|
type: string
|
|
example: SvBiXe4KPqijYZoKFFHEzJ8c2HPAfv2EFUcIhx0yPagwEhTy0vPA+GGhCEslKXa4Af0uB+mfShoMCgVzdGFrZRIDMTAwEgQQwJoM
|
|
responses:
|
|
200:
|
|
description: The tx was successfully decoded
|
|
schema:
|
|
$ref: "#/definitions/StdTx"
|
|
400:
|
|
description: The tx was malformated
|
|
500:
|
|
description: Server internal error
|
|
/bank/balances/{address}:
|
|
get:
|
|
summary: Get the account balances
|
|
tags:
|
|
- Bank
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: address
|
|
description: Account address in bech32 format
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
responses:
|
|
200:
|
|
description: Account balances
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
500:
|
|
description: Server internal error
|
|
/bank/accounts/{address}/transfers:
|
|
post:
|
|
summary: Send coins from one account to another
|
|
tags:
|
|
- Bank
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: address
|
|
description: Account address in bech32 format
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
- in: body
|
|
name: account
|
|
description: The sender and tx information
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
amount:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
responses:
|
|
202:
|
|
description: Tx was succesfully generated
|
|
schema:
|
|
$ref: "#/definitions/StdTx"
|
|
400:
|
|
description: Invalid request
|
|
500:
|
|
description: Server internal error
|
|
/auth/accounts/{address}:
|
|
get:
|
|
summary: Get the account information on blockchain
|
|
tags:
|
|
- Auth
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: path
|
|
name: address
|
|
description: Account address
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
responses:
|
|
200:
|
|
description: Account information on the blockchain
|
|
schema:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
value:
|
|
type: object
|
|
properties:
|
|
account_number:
|
|
type: string
|
|
address:
|
|
type: string
|
|
coins:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
public_key:
|
|
$ref: "#/definitions/PublicKey"
|
|
sequence:
|
|
type: string
|
|
500:
|
|
description: Server internel error
|
|
/staking/delegators/{delegatorAddr}/delegations:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
get:
|
|
summary: Get all delegations from a delegator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Delegation"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Submit delegation
|
|
parameters:
|
|
- in: body
|
|
name: delegation
|
|
description: The password of the account to remove from the KMS
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
delegator_address:
|
|
$ref: "#/definitions/Address"
|
|
validator_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
delegation:
|
|
$ref: "#/definitions/Coin"
|
|
tags:
|
|
- Staking
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid delegator address or delegation request body
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/delegations/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Query the current delegation between a delegator and a validator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Delegation"
|
|
400:
|
|
description: Invalid delegator address or validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/unbonding_delegations:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
get:
|
|
summary: Get all unbonding delegations from a delegator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/UnbondingDelegation"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Submit an unbonding delegation
|
|
parameters:
|
|
- in: body
|
|
name: delegation
|
|
description: The password of the account to remove from the KMS
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
delegator_address:
|
|
$ref: "#/definitions/Address"
|
|
validator_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
shares:
|
|
type: string
|
|
example: "100"
|
|
tags:
|
|
- Staking
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid delegator address or unbonding delegation request body
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/unbonding_delegations/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Query all unbonding delegations between a delegator and a validator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/UnbondingDelegationPair"
|
|
400:
|
|
description: Invalid delegator address or validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/redelegations:
|
|
parameters:
|
|
- in: query
|
|
name: delegator
|
|
description: Bech32 AccAddress of Delegator
|
|
required: false
|
|
type: string
|
|
- in: query
|
|
name: validator_from
|
|
description: Bech32 ValAddress of SrcValidator
|
|
required: false
|
|
type: string
|
|
- in: query
|
|
name: validator_to
|
|
description: Bech32 ValAddress of DstValidator
|
|
required: false
|
|
type: string
|
|
get:
|
|
summary: Get all redelegations (filter by query params)
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Redelegation"
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/redelegations:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
post:
|
|
summary: Submit a redelegation
|
|
parameters:
|
|
- in: body
|
|
name: delegation
|
|
description: The sender and tx information
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
delegator_address:
|
|
$ref: "#/definitions/Address"
|
|
validator_src_addressess:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
validator_dst_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
shares:
|
|
type: string
|
|
example: "100"
|
|
tags:
|
|
- Staking
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: Tx was succesfully generated
|
|
schema:
|
|
$ref: "#/definitions/StdTx"
|
|
400:
|
|
description: Invalid delegator address or redelegation request body
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/validators:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
get:
|
|
summary: Query all validators that a delegator is bonded to
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Validator"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/delegators/{delegatorAddr}/validators/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 ValAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Query a validator that a delegator is bonded to
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Validator"
|
|
400:
|
|
description: Invalid delegator address or validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/validators:
|
|
get:
|
|
summary: Get all validator candidates. By default it returns only the bonded validators.
|
|
parameters:
|
|
- in: query
|
|
name: status
|
|
type: string
|
|
description: The validator bond status. Must be either 'bonded', 'unbonded', or 'unbonding'.
|
|
x-example: bonded
|
|
- in: query
|
|
name: page
|
|
description: The page number.
|
|
type: integer
|
|
x-example: 1
|
|
- in: query
|
|
name: limit
|
|
description: The maximum number of items per page.
|
|
type: integer
|
|
x-example: 1
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Validator"
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/validators/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Query the information from a single validator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Validator"
|
|
400:
|
|
description: Invalid validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/validators/{validatorAddr}/delegations:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Get all delegations from a validator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Delegation"
|
|
400:
|
|
description: Invalid validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/validators/{validatorAddr}/unbonding_delegations:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Get all unbonding delegations from a validator
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/UnbondingDelegation"
|
|
400:
|
|
description: Invalid validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/pool:
|
|
get:
|
|
summary: Get the current state of the staking pool
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: object
|
|
properties:
|
|
loose_tokens:
|
|
type: string
|
|
bonded_tokens:
|
|
type: string
|
|
inflation_last_time:
|
|
type: string
|
|
inflation:
|
|
type: string
|
|
date_last_commission_reset:
|
|
type: string
|
|
prev_bonded_shares:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/staking/parameters:
|
|
get:
|
|
summary: Get the current staking parameter values
|
|
tags:
|
|
- Staking
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: object
|
|
properties:
|
|
inflation_rate_change:
|
|
type: string
|
|
inflation_max:
|
|
type: string
|
|
inflation_min:
|
|
type: string
|
|
goal_bonded:
|
|
type: string
|
|
unbonding_time:
|
|
type: string
|
|
max_validators:
|
|
type: integer
|
|
bond_denom:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
# TODO: We need to either fix this route when the validator is not found or add a slashed validator in the contract tests
|
|
# /slashing/validators/{validatorPubKey}/signing_info:
|
|
# get:
|
|
# summary: Get sign info of given validator
|
|
# description: Get sign info of given validator
|
|
# produces:
|
|
# - application/json
|
|
# tags:
|
|
# - Slashing
|
|
# parameters:
|
|
# - type: string
|
|
# description: Bech32 validator public key
|
|
# name: validatorPubKey
|
|
# required: true
|
|
# in: path
|
|
# x-example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
|
|
# responses:
|
|
# 200:
|
|
# description: OK
|
|
# schema:
|
|
# $ref: "#/definitions/SigningInfo"
|
|
# 400:
|
|
# description: Invalid validator public key
|
|
# 500:
|
|
# description: Internal Server Error
|
|
/slashing/signing_infos:
|
|
get:
|
|
summary: Get sign info of given all validators
|
|
description: Get sign info of all validators
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Slashing
|
|
parameters:
|
|
- in: query
|
|
name: page
|
|
description: Page number
|
|
type: integer
|
|
required: true
|
|
x-example: 1
|
|
- in: query
|
|
name: limit
|
|
description: Maximum number of items per page
|
|
type: integer
|
|
required: true
|
|
x-example: 5
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/SigningInfo"
|
|
400:
|
|
description: Invalid validator public key for one of the validators
|
|
500:
|
|
description: Internal Server Error
|
|
/slashing/validators/{validatorAddr}/unjail:
|
|
post:
|
|
summary: Unjail a jailed validator
|
|
description: Send transaction to unjail a jailed validator
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Slashing
|
|
parameters:
|
|
- type: string
|
|
description: Bech32 validator address
|
|
name: validatorAddr
|
|
required: true
|
|
in: path
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
- description: ""
|
|
name: UnjailBody
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/StdTx"
|
|
responses:
|
|
200:
|
|
description: Tx was succesfully generated
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid validator address or base_req
|
|
500:
|
|
description: Internal Server Error
|
|
/slashing/parameters:
|
|
get:
|
|
summary: Get the current slashing parameters
|
|
tags:
|
|
- Slashing
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: object
|
|
properties:
|
|
max_evidence_age:
|
|
type: string
|
|
signed_blocks_window:
|
|
type: string
|
|
min_signed_per_window:
|
|
type: string
|
|
double_sign_unbond_duration:
|
|
type: string
|
|
downtime_unbond_duration:
|
|
type: string
|
|
slash_fraction_double_sign:
|
|
type: string
|
|
slash_fraction_downtime:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals:
|
|
post:
|
|
summary: Submit a proposal
|
|
description: Send transaction to submit a proposal
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- description: valid value of `"proposal_type"` can be `"text"`, `"parameter_change"`, `"software_upgrade"`
|
|
name: post_proposal_body
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
proposal_type:
|
|
type: string
|
|
example: "text"
|
|
proposer:
|
|
$ref: "#/definitions/Address"
|
|
initial_deposit:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
responses:
|
|
200:
|
|
description: Tx was succesfully generated
|
|
schema:
|
|
$ref: "#/definitions/StdTx"
|
|
400:
|
|
description: Invalid proposal body
|
|
500:
|
|
description: Internal Server Error
|
|
get:
|
|
summary: Query proposals
|
|
description: Query proposals information with parameters
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- in: query
|
|
name: voter
|
|
description: voter address
|
|
required: false
|
|
type: string
|
|
- in: query
|
|
name: depositor
|
|
description: depositor address
|
|
required: false
|
|
type: string
|
|
- in: query
|
|
name: status
|
|
description: proposal status, valid values can be `"deposit_period"`, `"voting_period"`, `"passed"`, `"rejected"`
|
|
required: false
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/TextProposal"
|
|
400:
|
|
description: Invalid query parameters
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/param_change:
|
|
post:
|
|
summary: Generate a parameter change proposal transaction
|
|
description: Generate a parameter change proposal transaction
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- description: The parameter change proposal body that contains all parameter changes
|
|
name: post_proposal_body
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
title:
|
|
type: string
|
|
x-example: "Param Change"
|
|
description:
|
|
type: string
|
|
x-example: "Update max validators"
|
|
proposer:
|
|
$ref: "#/definitions/Address"
|
|
deposit:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
changes:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/ParamChange"
|
|
responses:
|
|
200:
|
|
description: The transaction was succesfully generated
|
|
schema:
|
|
$ref: "#/definitions/StdTx"
|
|
400:
|
|
description: Invalid proposal body
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}:
|
|
get:
|
|
summary: Query a proposal
|
|
description: Query a proposal by id
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/TextProposal"
|
|
400:
|
|
description: Invalid proposal id
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/proposer:
|
|
get:
|
|
summary: Query proposer
|
|
description: Query for the proposer for a proposal
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Proposer"
|
|
400:
|
|
description: Invalid proposal ID
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/deposits:
|
|
get:
|
|
summary: Query deposits
|
|
description: Query deposits by proposalId
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Deposit"
|
|
400:
|
|
description: Invalid proposal id
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Deposit tokens to a proposal
|
|
description: Send transaction to deposit tokens to a proposal
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
- description: ""
|
|
name: post_deposit_body
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
depositor:
|
|
$ref: "#/definitions/Address"
|
|
amount:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid proposal id or deposit body
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/deposits/{depositor}:
|
|
get:
|
|
summary: Query deposit
|
|
description: Query deposit by proposalId and depositor address
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
- type: string
|
|
description: Bech32 depositor address
|
|
name: depositor
|
|
required: true
|
|
in: path
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Deposit"
|
|
400:
|
|
description: Invalid proposal id or depositor address
|
|
404:
|
|
description: Found no deposit
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/votes:
|
|
get:
|
|
summary: Query voters
|
|
description: Query voters information by proposalId
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Vote"
|
|
400:
|
|
description: Invalid proposal id
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Vote a proposal
|
|
description: Send transaction to vote a proposal
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
- description: valid value of `"option"` field can be `"yes"`, `"no"`, `"no_with_veto"` and `"abstain"`
|
|
name: post_vote_body
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
voter:
|
|
$ref: "#/definitions/Address"
|
|
option:
|
|
type: string
|
|
example: "yes"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid proposal id or vote body
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/votes/{voter}:
|
|
get:
|
|
summary: Query vote
|
|
description: Query vote information by proposal Id and voter address
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
- type: string
|
|
description: Bech32 voter address
|
|
name: voter
|
|
required: true
|
|
in: path
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Vote"
|
|
400:
|
|
description: Invalid proposal id or voter address
|
|
404:
|
|
description: Found no vote
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/proposals/{proposalId}/tally:
|
|
get:
|
|
summary: Get a proposal's tally result at the current time
|
|
description: Gets a proposal's tally result at the current time. If the proposal is pending deposits (i.e status 'DepositPeriod') it returns an empty tally result.
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
parameters:
|
|
- type: string
|
|
description: proposal id
|
|
name: proposalId
|
|
required: true
|
|
in: path
|
|
x-example: "2"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/TallyResult"
|
|
400:
|
|
description: Invalid proposal id
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/parameters/deposit:
|
|
get:
|
|
summary: Query governance deposit parameters
|
|
description: Query governance deposit parameters. The max_deposit_period units are in nanoseconds.
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: object
|
|
properties:
|
|
min_deposit:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
max_deposit_period:
|
|
type: string
|
|
example: "86400000000000"
|
|
400:
|
|
description: <other_path> is not a valid query request path
|
|
404:
|
|
description: Found no deposit parameters
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/parameters/tallying:
|
|
get:
|
|
summary: Query governance tally parameters
|
|
description: Query governance tally parameters
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
properties:
|
|
threshold:
|
|
type: string
|
|
example: "0.5000000000"
|
|
veto:
|
|
type: string
|
|
example: "0.3340000000"
|
|
governance_penalty:
|
|
type: string
|
|
example: "0.0100000000"
|
|
400:
|
|
description: <other_path> is not a valid query request path
|
|
404:
|
|
description: Found no tally parameters
|
|
500:
|
|
description: Internal Server Error
|
|
/gov/parameters/voting:
|
|
get:
|
|
summary: Query governance voting parameters
|
|
description: Query governance voting parameters. The voting_period units are in nanoseconds.
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Governance
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
properties:
|
|
voting_period:
|
|
type: string
|
|
example: "86400000000000"
|
|
400:
|
|
description: <other_path> is not a valid query request path
|
|
404:
|
|
description: Found no voting parameters
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/delegators/{delegatorAddr}/rewards:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava167w96tdvmazakdwkw2u57227eduula2cy572lf
|
|
get:
|
|
summary: Get the total rewards balance from all delegations
|
|
description: Get the sum of all the rewards earned by delegations by a single delegator
|
|
produces:
|
|
- application/json
|
|
tags:
|
|
- Distribution
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/DelegatorTotalRewards"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Withdraw all the delegator's delegation rewards
|
|
description: Withdraw all the delegator's delegation rewards
|
|
tags:
|
|
- Distribution
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: Withdraw request body
|
|
schema:
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid delegator address
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/delegators/{delegatorAddr}/rewards/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Query a delegation reward
|
|
description: Query a single delegation reward by a delegator
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Withdraw a delegation reward
|
|
description: Withdraw a delegator's delegation reward from a single validator
|
|
tags:
|
|
- Distribution
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: Withdraw request body
|
|
schema:
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid delegator address or delegation body
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/delegators/{delegatorAddr}/withdraw_address:
|
|
parameters:
|
|
- in: path
|
|
name: delegatorAddr
|
|
description: Bech32 AccAddress of Delegator
|
|
required: true
|
|
type: string
|
|
x-example: kava167w96tdvmazakdwkw2u57227eduula2cy572lf
|
|
get:
|
|
summary: Get the rewards withdrawal address
|
|
description: Get the delegations' rewards withdrawal address. This is the address in which the user will receive the reward funds
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Address"
|
|
400:
|
|
description: Invalid delegator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Replace the rewards withdrawal address
|
|
description: Replace the delegations' rewards withdrawal address for a new one.
|
|
tags:
|
|
- Distribution
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: Withdraw request body
|
|
schema:
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
withdraw_address:
|
|
$ref: "#/definitions/Address"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid delegator or withdraw address
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/validators/{validatorAddr}:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Validator distribution information
|
|
description: Query the distribution information of a single validator
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/ValidatorDistInfo"
|
|
400:
|
|
description: Invalid validator address
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/validators/{validatorAddr}/outstanding_rewards:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Fee distribution outstanding rewards of a single validator
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/validators/{validatorAddr}/rewards:
|
|
parameters:
|
|
- in: path
|
|
name: validatorAddr
|
|
description: Bech32 OperatorAddress of validator
|
|
required: true
|
|
type: string
|
|
x-example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
get:
|
|
summary: Commission and self-delegation rewards of a single validator
|
|
description: Query the commission and self-delegation rewards of validator.
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
400:
|
|
description: Invalid validator address
|
|
500:
|
|
description: Internal Server Error
|
|
post:
|
|
summary: Withdraw the validator's rewards
|
|
description: Withdraw the validator's self-delegation and commissions rewards
|
|
tags:
|
|
- Distribution
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
parameters:
|
|
- in: body
|
|
name: Withdraw request body
|
|
schema:
|
|
properties:
|
|
base_req:
|
|
$ref: "#/definitions/BaseReq"
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/BroadcastTxCommitResult"
|
|
400:
|
|
description: Invalid validator address
|
|
401:
|
|
description: Key password is wrong
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/community_pool:
|
|
get:
|
|
summary: Community pool parameters
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
500:
|
|
description: Internal Server Error
|
|
/distribution/parameters:
|
|
get:
|
|
summary: Fee distribution parameters
|
|
tags:
|
|
- Distribution
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
properties:
|
|
base_proposer_reward:
|
|
type: string
|
|
bonus_proposer_reward:
|
|
type: string
|
|
community_tax:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/minting/parameters:
|
|
get:
|
|
summary: Minting module parameters
|
|
tags:
|
|
- Mint
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
properties:
|
|
mint_denom:
|
|
type: string
|
|
inflation_rate_change:
|
|
type: string
|
|
inflation_max:
|
|
type: string
|
|
inflation_min:
|
|
type: string
|
|
goal_bonded:
|
|
type: string
|
|
blocks_per_year:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/minting/inflation:
|
|
get:
|
|
summary: Current minting inflation value
|
|
tags:
|
|
- Mint
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/minting/annual-provisions:
|
|
get:
|
|
summary: Current minting annual provisions value
|
|
tags:
|
|
- Mint
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
500:
|
|
description: Internal Server Error
|
|
/supply/total:
|
|
get:
|
|
summary: Total supply of coins in the chain
|
|
tags:
|
|
- Supply
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
$ref: "#/definitions/Supply"
|
|
500:
|
|
description: Internal Server Error
|
|
/supply/total/{denomination}:
|
|
parameters:
|
|
- in: path
|
|
name: denomination
|
|
description: Coin denomination
|
|
required: true
|
|
type: string
|
|
x-example: uatom
|
|
get:
|
|
summary: Total supply of a single coin denomination
|
|
tags:
|
|
- Supply
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
200:
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
400:
|
|
description: Invalid coin denomination
|
|
500:
|
|
description: Internal Server Error
|
|
definitions:
|
|
CheckTxResult:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
data:
|
|
type: string
|
|
gas_used:
|
|
type: integer
|
|
gas_wanted:
|
|
type: integer
|
|
info:
|
|
type: string
|
|
log:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/KVPair"
|
|
example:
|
|
code: 0
|
|
data: data
|
|
log: log
|
|
gas_used: 5000
|
|
gas_wanted: 10000
|
|
info: info
|
|
tags:
|
|
- ""
|
|
- ""
|
|
DeliverTxResult:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
data:
|
|
type: string
|
|
gas_used:
|
|
type: integer
|
|
gas_wanted:
|
|
type: integer
|
|
info:
|
|
type: string
|
|
log:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/KVPair"
|
|
example:
|
|
code: 5
|
|
data: data
|
|
log: log
|
|
gas_used: 5000
|
|
gas_wanted: 10000
|
|
info: info
|
|
tags:
|
|
- ""
|
|
- ""
|
|
BroadcastTxCommitResult:
|
|
type: object
|
|
properties:
|
|
check_tx:
|
|
$ref: "#/definitions/CheckTxResult"
|
|
deliver_tx:
|
|
$ref: "#/definitions/DeliverTxResult"
|
|
hash:
|
|
$ref: "#/definitions/Hash"
|
|
height:
|
|
type: integer
|
|
KVPair:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
Msg:
|
|
type: object
|
|
required:
|
|
- from
|
|
properties:
|
|
type:
|
|
type: string
|
|
example: "cdp/MsgCreateCDP"
|
|
value:
|
|
type: object
|
|
properties:
|
|
from:
|
|
type: string
|
|
example: kava1mzqz3jfs9nzfp6v7qp647rv0afxlu2csl0txmq
|
|
collateral:
|
|
$ref: "#/definitions/CoinCollateral"
|
|
principal:
|
|
$ref: "#/definitions/CoinPrincipal"
|
|
Address:
|
|
type: string
|
|
description: bech32 encoded address
|
|
example: kava1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
|
|
ValidatorAddress:
|
|
type: string
|
|
description: bech32 encoded address
|
|
example: kavavaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
|
|
Coin:
|
|
type: object
|
|
properties:
|
|
denom:
|
|
type: string
|
|
example: ukava
|
|
amount:
|
|
type: string
|
|
example: "50"
|
|
CoinCollateral:
|
|
type: object
|
|
properties:
|
|
denom:
|
|
type: string
|
|
example: bnb
|
|
amount:
|
|
type: string
|
|
example: "10000000000"
|
|
CoinPrincipal:
|
|
type: object
|
|
properties:
|
|
denom:
|
|
type: string
|
|
example: usdx
|
|
amount:
|
|
type: string
|
|
example: "10000000"
|
|
Hash:
|
|
type: string
|
|
example: EE5F3404034C524501629B56E0DDC38FAD651F04
|
|
Signature:
|
|
type: object
|
|
properties:
|
|
signature:
|
|
type: string
|
|
example: "W1HfKcc4F0rCSoxheZ7fsrB5nGK58U4gKysuzsmUwhloVnCxmbCx289uVMMvQN6tOcQsz7hMVTJrXSA1xzevvw=="
|
|
pubkey:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
example: "tendermint/PubKeySecp256k1"
|
|
value:
|
|
type: string
|
|
example: "Agey31h/NYpcy0sYm4liHMrXJMzbQUrgV4uHd/w09CXN"
|
|
TxQuery:
|
|
type: object
|
|
properties:
|
|
hash:
|
|
type: string
|
|
example: "D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656"
|
|
height:
|
|
type: number
|
|
example: 368
|
|
tx:
|
|
$ref: "#/definitions/StdTx"
|
|
result:
|
|
type: object
|
|
properties:
|
|
log:
|
|
type: string
|
|
gas_wanted:
|
|
type: string
|
|
example: "200000"
|
|
gas_used:
|
|
type: string
|
|
example: "26354"
|
|
tags:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/KVPair"
|
|
PaginatedQueryTxs:
|
|
type: object
|
|
properties:
|
|
total_count:
|
|
type: number
|
|
example: 1
|
|
count:
|
|
type: number
|
|
example: 1
|
|
page_number:
|
|
type: number
|
|
example: 1
|
|
page_total:
|
|
type: number
|
|
example: 1
|
|
limit:
|
|
type: number
|
|
example: 30
|
|
txs:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/TxQuery"
|
|
StdTx:
|
|
type: object
|
|
properties:
|
|
msg:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Msg"
|
|
fee:
|
|
type: object
|
|
properties:
|
|
gas:
|
|
type: string
|
|
amount:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
memo:
|
|
type: string
|
|
signatures:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Signature"
|
|
BlockID:
|
|
type: object
|
|
properties:
|
|
hash:
|
|
$ref: "#/definitions/Hash"
|
|
parts:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: number
|
|
example: 0
|
|
hash:
|
|
$ref: "#/definitions/Hash"
|
|
BlockHeader:
|
|
type: object
|
|
properties:
|
|
chain_id:
|
|
type: string
|
|
example: kavahub-2
|
|
height:
|
|
type: number
|
|
example: 1
|
|
time:
|
|
type: string
|
|
example: "2017-12-30T05:53:09.287+01:00"
|
|
num_txs:
|
|
type: number
|
|
example: 0
|
|
last_block_id:
|
|
$ref: "#/definitions/BlockID"
|
|
total_txs:
|
|
type: number
|
|
example: 35
|
|
last_commit_hash:
|
|
$ref: "#/definitions/Hash"
|
|
data_hash:
|
|
$ref: "#/definitions/Hash"
|
|
validators_hash:
|
|
$ref: "#/definitions/Hash"
|
|
next_validators_hash:
|
|
$ref: "#/definitions/Hash"
|
|
consensus_hash:
|
|
$ref: "#/definitions/Hash"
|
|
app_hash:
|
|
$ref: "#/definitions/Hash"
|
|
last_results_hash:
|
|
$ref: "#/definitions/Hash"
|
|
evidence_hash:
|
|
$ref: "#/definitions/Hash"
|
|
proposer_address:
|
|
$ref: "#/definitions/Address"
|
|
version:
|
|
type: object
|
|
properties:
|
|
block:
|
|
type: string
|
|
example: 10
|
|
app:
|
|
type: string
|
|
example: 0
|
|
Block:
|
|
type: object
|
|
properties:
|
|
header:
|
|
$ref: "#/definitions/BlockHeader"
|
|
txs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
evidence:
|
|
type: array
|
|
items:
|
|
type: string
|
|
last_commit:
|
|
type: object
|
|
properties:
|
|
block_id:
|
|
$ref: "#/definitions/BlockID"
|
|
precommits:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
validator_address:
|
|
type: string
|
|
validator_index:
|
|
type: string
|
|
example: "0"
|
|
height:
|
|
type: string
|
|
example: "0"
|
|
round:
|
|
type: string
|
|
example: "0"
|
|
timestamp:
|
|
type: string
|
|
example: "2017-12-30T05:53:09.287+01:00"
|
|
type:
|
|
type: number
|
|
example: 2
|
|
block_id:
|
|
$ref: "#/definitions/BlockID"
|
|
signature:
|
|
type: string
|
|
example: "7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ=="
|
|
BlockQuery:
|
|
type: object
|
|
properties:
|
|
block_meta:
|
|
type: object
|
|
properties:
|
|
header:
|
|
$ref: "#/definitions/BlockHeader"
|
|
block_id:
|
|
$ref: "#/definitions/BlockID"
|
|
block:
|
|
$ref: "#/definitions/Block"
|
|
DelegationDelegatorReward:
|
|
type: object
|
|
properties:
|
|
validator_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
reward:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
DelegatorTotalRewards:
|
|
type: object
|
|
properties:
|
|
rewards:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/DelegationDelegatorReward"
|
|
total:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
BaseReq:
|
|
type: object
|
|
properties:
|
|
from:
|
|
type: string
|
|
example: "kava1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc"
|
|
description: Sender address or Keybase name to generate a transaction
|
|
memo:
|
|
type: string
|
|
example: "Sent via Cosmos Voyager 🚀"
|
|
chain_id:
|
|
type: string
|
|
example: "Cosmos-Hub"
|
|
account_number:
|
|
type: string
|
|
example: "0"
|
|
sequence:
|
|
type: string
|
|
example: "1"
|
|
gas:
|
|
type: string
|
|
example: "200000"
|
|
gas_adjustment:
|
|
type: string
|
|
example: "1.2"
|
|
fees:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
simulate:
|
|
type: boolean
|
|
example: false
|
|
description: Estimate gas for a transaction (cannot be used in conjunction with generate_only)
|
|
TendermintValidator:
|
|
type: object
|
|
properties:
|
|
address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
pub_key:
|
|
type: string
|
|
example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
|
|
voting_power:
|
|
type: string
|
|
example: "1000"
|
|
proposer_priority:
|
|
type: string
|
|
example: "1000"
|
|
TextProposal:
|
|
type: object
|
|
properties:
|
|
proposal_id:
|
|
type: integer
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
proposal_type:
|
|
type: string
|
|
proposal_status:
|
|
type: string
|
|
final_tally_result:
|
|
$ref: "#/definitions/TallyResult"
|
|
submit_time:
|
|
type: string
|
|
total_deposit:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
voting_start_time:
|
|
type: string
|
|
Proposer:
|
|
type: object
|
|
properties:
|
|
proposal_id:
|
|
type: string
|
|
proposer:
|
|
type: string
|
|
Deposit:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
proposal_id:
|
|
type: string
|
|
depositor:
|
|
$ref: "#/definitions/Address"
|
|
TallyResult:
|
|
type: object
|
|
properties:
|
|
yes:
|
|
type: string
|
|
example: "0.0000000000"
|
|
abstain:
|
|
type: string
|
|
example: "0.0000000000"
|
|
no:
|
|
type: string
|
|
example: "0.0000000000"
|
|
no_with_veto:
|
|
type: string
|
|
example: "0.0000000000"
|
|
Vote:
|
|
type: object
|
|
properties:
|
|
voter:
|
|
type: string
|
|
proposal_id:
|
|
type: string
|
|
option:
|
|
type: string
|
|
Validator:
|
|
type: object
|
|
properties:
|
|
operator_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
consensus_pubkey:
|
|
type: string
|
|
example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
|
|
jailed:
|
|
type: boolean
|
|
status:
|
|
type: integer
|
|
tokens:
|
|
type: string
|
|
delegator_shares:
|
|
type: string
|
|
description:
|
|
type: object
|
|
properties:
|
|
moniker:
|
|
type: string
|
|
identity:
|
|
type: string
|
|
website:
|
|
type: string
|
|
security_contact:
|
|
type: string
|
|
details:
|
|
type: string
|
|
bond_height:
|
|
type: string
|
|
example: "0"
|
|
bond_intra_tx_counter:
|
|
type: integer
|
|
example: 0
|
|
unbonding_height:
|
|
type: string
|
|
example: "0"
|
|
unbonding_time:
|
|
type: string
|
|
example: "1970-01-01T00:00:00Z"
|
|
commission:
|
|
type: object
|
|
properties:
|
|
rate:
|
|
type: string
|
|
example: "0"
|
|
max_rate:
|
|
type: string
|
|
example: "0"
|
|
max_change_rate:
|
|
type: string
|
|
example: "0"
|
|
update_time:
|
|
type: string
|
|
example: "1970-01-01T00:00:00Z"
|
|
Delegation:
|
|
type: object
|
|
properties:
|
|
delegator_address:
|
|
type: string
|
|
validator_address:
|
|
type: string
|
|
shares:
|
|
type: string
|
|
balance:
|
|
$ref: "#/definitions/Coin"
|
|
UnbondingDelegationPair:
|
|
type: object
|
|
properties:
|
|
delegator_address:
|
|
type: string
|
|
validator_address:
|
|
type: string
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/UnbondingEntries"
|
|
UnbondingEntries:
|
|
type: object
|
|
properties:
|
|
initial_balance:
|
|
type: string
|
|
balance:
|
|
type: string
|
|
creation_height:
|
|
type: string
|
|
min_time:
|
|
type: string
|
|
UnbondingDelegation:
|
|
type: object
|
|
properties:
|
|
delegator_address:
|
|
type: string
|
|
validator_address:
|
|
type: string
|
|
initial_balance:
|
|
type: string
|
|
balance:
|
|
type: string
|
|
creation_height:
|
|
type: integer
|
|
min_time:
|
|
type: integer
|
|
Redelegation:
|
|
type: object
|
|
properties:
|
|
delegator_address:
|
|
type: string
|
|
validator_src_address:
|
|
type: string
|
|
validator_dst_address:
|
|
type: string
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Redelegation"
|
|
RedelegationEntry:
|
|
type: object
|
|
properties:
|
|
creation_height:
|
|
type: integer
|
|
completion_time:
|
|
type: integer
|
|
initial_balance:
|
|
type: string
|
|
balance:
|
|
type: string
|
|
shares_dst:
|
|
type: string
|
|
ValidatorDistInfo:
|
|
type: object
|
|
properties:
|
|
operator_address:
|
|
$ref: "#/definitions/ValidatorAddress"
|
|
self_bond_rewards:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
val_commission:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin"
|
|
PublicKey:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
value:
|
|
type: string
|
|
SigningInfo:
|
|
type: object
|
|
properties:
|
|
start_height:
|
|
type: string
|
|
index_offset:
|
|
type: string
|
|
jailed_until:
|
|
type: string
|
|
missed_blocks_counter:
|
|
type: string
|
|
ParamChange:
|
|
type: object
|
|
properties:
|
|
subspace:
|
|
type: string
|
|
example: "staking"
|
|
key:
|
|
type: string
|
|
example: "MaxValidators"
|
|
subkey:
|
|
type: string
|
|
example: ""
|
|
value:
|
|
type: object
|
|
Supply:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: array
|
|
items:
|
|
$ref: "#/definitions/Coin" |