message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Asset
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/assets/asset/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/assets/asset/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/assets/asset/{id}`
+
+*Queries a Asset by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAssetResponse is response type for the Asset RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» asset|object|false|none|Asset defines a single exchangable asset.|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|»» symbol|string|false|none|The human readable symbol of the `Asset` (e.g. `USDC`, `ATOM`). Must be uppercase, unique and correspond to the canonical symbol of the full coin.|
+|»» denom|string|false|none|The name of base denomination unit of the `Asset` (e.g. `uatom`, 'ibc/xxxxx'). Must be unique and match the `denom` used in the `sdk.Coin` type in the `x/bank` module.|
+|»» denom_exponent|integer(int32)|false|none|none|
+|»» has_market|boolean|false|none|`true` if this `Asset` has a valid `MarketId` value.|
+|»» market_id|integer(int64)|false|none|The `Id` of the `Market` associated with this `Asset`. It acts as the oracle price for the purposes of calculating collateral and margin requirements.|
+|»» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (1 'quantum') to a full coin. For example, if `atomic_resolution = -8` then an `asset_position` with `base_quantums = 1e8` is equivalent to a position size of one full coin.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllDowntimeInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/blocktime/all_downtime_info', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/blocktime/all_downtime_info',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/blocktime/all_downtime_info`
+
+*Queries all recorded downtime info.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllDowntimeInfoResponse is a request type for the AllDowntimeInfo
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» info|object|false|none|AllDowntimeInfo stores information for all downtime durations.|
+|»» infos|[object]|false|none|The downtime information for each tracked duration. Sorted by duration, ascending. (i.e. the same order as they appear in DowntimeParams).|
+|»»» duration|string|false|none|none|
+|»»» block_info|object|false|none|none|
+|»»»» height|integer(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DowntimeParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/blocktime/downtime_params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/blocktime/downtime_params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/blocktime/downtime_params`
+
+*Queries the DowntimeParams.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDowntimeParamsResponse is a response type for the DowntimeParams
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|DowntimeParams defines the parameters for downtime.|
+|»» durations|[string]|false|none|Durations tracked for downtime. The durations must be sorted from shortest to longest and must all be positive.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AcknowledgedEventInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/acknowledged_event_info', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/acknowledged_event_info',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/acknowledged_event_info`
+
+*Queries the AcknowledgedEventInfo.
+An "acknowledged" event is one that is in-consensus and has been stored
+in-state.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAcknowledgedEventInfoResponse is a response type for the
+AcknowledgedEventInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» info|object|false|none|BridgeEventInfo stores information about the most recently processed bridge event.|
+|»» next_id|integer(int64)|false|none|The next event id (the last processed id plus one) of the logs from the Ethereum contract.|
+|»» eth_block_height|string(uint64)|false|none|The Ethereum block height of the most recently processed bridge event.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DelayedCompleteBridgeMessages
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/delayed_complete_bridge_messages', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/delayed_complete_bridge_messages',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/delayed_complete_bridge_messages`
+
+*Queries all `MsgCompleteBridge` messages that are delayed (not yet
+executed) and corresponding block heights at which they will execute.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|query|string|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelayedCompleteBridgeMessagesResponse is a response type for the
+DelayedCompleteBridgeMessages RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» messages|[object]|false|none|none|
+|»» message|object|false|none|MsgCompleteBridge is the Msg/CompleteBridgeResponse request type.|
+|»»» authority|string|false|none|none|
+|»»» event|object|false|none|The event to complete.|
+|»»»» id|integer(int64)|false|none|The unique id of the Ethereum event log.|
+|»»»» coin|object|false|none|The tokens bridged.|
+|»»»»» denom|string|false|none|none|
+|»»»»» amount|string|false|none|none|
+|»»»» address|string|false|none|The account address or module address to bridge to.|
+|»»»» eth_block_height|string(uint64)|false|none|The Ethereum block height of the event.|
+|»» block_height|integer(int64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## EventParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/event_params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/event_params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/event_params`
+
+*Queries the EventParams.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEventParamsResponse is a response type for the EventParams RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|EventParams stores parameters about which events to recognize and which tokens to mint.|
+|»» denom|string|false|none|The denom of the token to mint.|
+|»» eth_chain_id|string(uint64)|false|none|The numerical chain ID of the Ethereum chain to query.|
+|»» eth_address|string|false|none|The address of the Ethereum contract to monitor for logs.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ProposeParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/propose_params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/propose_params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/propose_params`
+
+*Queries the ProposeParams.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryProposeParamsResponse is a response type for the ProposeParams RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|ProposeParams stores parameters for proposing to the module.|
+|»» max_bridges_per_block|integer(int64)|false|none|The maximum number of bridge events to propose per block. Limits the number of events to propose in a single block in-order to smooth out the flow of events.|
+|»» propose_delay_duration|string|false|none|The minimum duration to wait between a finalized bridge and proposing it. This allows other validators to have enough time to also recognize its occurence. Therefore the bridge daemon should pool for new finalized events at least as often as this parameter.|
+|»» skip_rate_ppm|integer(int64)|false|none|Do not propose any events if a [0, 1_000_000) random number generator generates a number smaller than this number. Setting this parameter to 1_000_000 means always skipping proposing events.|
+|»» skip_if_block_delayed_by_duration|string|false|none|Do not propose any events if the timestamp of the proposal block is behind the proposers' wall-clock by at least this duration.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## RecognizedEventInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/recognized_event_info', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/recognized_event_info',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/recognized_event_info`
+
+*Queries the RecognizedEventInfo.
+A "recognized" event is one that is finalized on the Ethereum blockchain
+and has been identified by the queried node. It is not yet in-consensus.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryRecognizedEventInfoResponse is a response type for the
+RecognizedEventInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» info|object|false|none|BridgeEventInfo stores information about the most recently processed bridge event.|
+|»» next_id|integer(int64)|false|none|The next event id (the last processed id plus one) of the logs from the Ethereum contract.|
+|»» eth_block_height|string(uint64)|false|none|The Ethereum block height of the most recently processed bridge event.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SafetyParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/bridge/safety_params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/bridge/safety_params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/bridge/safety_params`
+
+*Queries the SafetyParams.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySafetyParamsResponse is a response type for the SafetyParams RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|SafetyParams stores safety parameters for the module.|
+|»» is_disabled|boolean|false|none|True if bridging is disabled.|
+|»» delay_blocks|integer(int64)|false|none|The number of blocks that bridges accepted in-consensus will be pending until the minted tokens are granted.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## BlockRateLimitConfiguration
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/clob/block_rate', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/block_rate',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/clob/block_rate`
+
+*Queries BlockRateLimitConfiguration.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryBlockRateLimitConfigurationResponse is a response message that contains
+the BlockRateLimitConfiguration.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» block_rate_limit_config|object|false|none|Defines the block rate limits for CLOB specific operations.|
+|»» max_short_term_orders_per_n_blocks|[object]|false|none|How many short term order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|»»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|»» max_stateful_orders_per_n_blocks|[object]|false|none|How many stateful order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|»»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|»» max_short_term_order_cancellations_per_n_blocks|[object]|false|none|How many short term order cancellation attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order cancellation must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|»»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|»» max_short_term_orders_and_cancels_per_n_blocks|[object]|false|none|How many short term order place and cancel attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|»»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ClobPairAll
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/clob/clob_pair', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/clob_pair',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/clob/clob_pair`
+
+*Queries a list of ClobPair items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClobPairAllResponse is response type for the ClobPairAll method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» clob_pair|[object]|false|none|none|
+|»» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|»» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|»» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|»» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|»» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|»» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|»» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ClobPair
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/clob/clob_pair/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/clob_pair/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/clob/clob_pair/{id}`
+
+*Queries a ClobPair by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClobPairResponse is response type for the ClobPair method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» clob_pair|object|false|none|ClobPair represents a single CLOB pair for a given product in state.|
+|»» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|»» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|»» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|»» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|»» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|»» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|»» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## EquityTierLimitConfiguration
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/clob/equity_tier', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/equity_tier',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/clob/equity_tier`
+
+*Queries EquityTierLimitConfiguration.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEquityTierLimitConfigurationResponse is a response message that contains
+the EquityTierLimitConfiguration.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» equity_tier_limit_config|object|false|none|Defines the set of equity tiers to limit how many open orders a subaccount is allowed to have.|
+|»» short_term_order_equity_tiers|[object]|false|none|How many short term stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|»»» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|»»» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+|»» stateful_order_equity_tiers|[object]|false|none|How many open stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|»»» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|»»» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## LiquidationsConfiguration
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/clob/liquidations_config', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/liquidations_config',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/clob/liquidations_config`
+
+*Queries LiquidationsConfiguration.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryLiquidationsConfigurationResponse is a response message that contains
+the LiquidationsConfiguration.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» liquidations_config|object|false|none|LiquidationsConfig stores all configurable fields related to liquidations.|
+|»» max_liquidation_fee_ppm|integer(int64)|false|none|The maximum liquidation fee (in parts-per-million). This fee goes 100% to the insurance fund.|
+|»» position_block_limits|object|false|none|Limits around how much of a single position can be liquidated within a single block.|
+|»»» min_position_notional_liquidated|string(uint64)|false|none|The minimum amount of quantums to liquidate for each message (in quote quantums). Overridden by the maximum size of the position.|
+|»»» max_position_portion_liquidated_ppm|integer(int64)|false|none|The maximum portion of the position liquidated (in parts-per- million). Overridden by min_position_notional_liquidated.|
+|»» subaccount_block_limits|object|false|none|Limits around how many quote quantums from a single subaccount can be liquidated within a single block.|
+|»»» max_notional_liquidated|string(uint64)|false|none|The maximum notional amount that a single subaccount can have liquidated (in quote quantums) per block.|
+|»»» max_quantums_insurance_lost|string(uint64)|false|none|The maximum insurance-fund payout amount for a given subaccount per block. I.e. how much it can cover for that subaccount.|
+|»» fillable_price_config|object|false|none|Config about how the fillable-price spread from the oracle price increases based on the adjusted bankruptcy rating of the subaccount.|
+|»»» bankruptcy_adjustment_ppm|integer(int64)|false|none|The rate at which the Adjusted Bankruptcy Rating increases.|
+|»»» spread_to_maintenance_margin_ratio_ppm|integer(int64)|false|none|The maximum value that the liquidation spread can take, as a ratio against the position's maintenance margin.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## MevNodeToNodeCalculation
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/dydxprotocol/clob/mev_node_to_node_calculation', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "block_proposer_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "validator_mev_metrics": {
+ "validator_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "clob_mid_prices": [
+ {
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {},
+ "spot_clob_metadata": {},
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "["
+ },
+ "subticks": "string"
+ }
+ ],
+ "bp_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "proposal_receive_time": "string"
+ }
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/clob/mev_node_to_node_calculation',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /dydxprotocol/clob/mev_node_to_node_calculation`
+
+*Runs the MEV node <> node calculation with the provided parameters.*
+
+> Body parameter
+
+```json
+{
+ "block_proposer_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "validator_mev_metrics": {
+ "validator_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "clob_mid_prices": [
+ {
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {},
+ "spot_clob_metadata": {},
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "["
+ },
+ "subticks": "string"
+ }
+ ],
+ "bp_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "proposal_receive_time": "string"
+ }
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» block_proposer_matches|body|object|false|Represents the matches on the "block proposer". Note that this field|
+|»» matches|body|[object]|false|none|
+|»»» taker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»» taker_fee_ppm|body|integer(int32)|false|none|
+|»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»» maker_order_is_buy|body|boolean|false|none|
+|»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»» clob_pair_id|body|integer(int64)|false|none|
+|»»» fill_amount|body|string(uint64)|false|none|
+|»» liquidation_matches|body|[object]|false|none|
+|»»» liquidated_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»» insurance_fund_delta_quote_quantums|body|string(int64)|false|none|
+|»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»» maker_order_is_buy|body|boolean|false|none|
+|»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»» clob_pair_id|body|integer(int64)|false|none|
+|»»» fill_amount|body|string(uint64)|false|none|
+|» validator_mev_metrics|body|object|false|Represents the matches and mid-prices on the validator.|
+|»» validator_mev_matches|body|object|false|ValidatorMevMatches contains all matches from the validator's local|
+|»»» matches|body|[object]|false|none|
+|»»»» taker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» taker_fee_ppm|body|integer(int32)|false|none|
+|»»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»»» maker_order_is_buy|body|boolean|false|none|
+|»»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»»» clob_pair_id|body|integer(int64)|false|none|
+|»»»» fill_amount|body|string(uint64)|false|none|
+|»»» liquidation_matches|body|[object]|false|none|
+|»»»» liquidated_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» insurance_fund_delta_quote_quantums|body|string(int64)|false|none|
+|»»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»»» maker_order_is_buy|body|boolean|false|none|
+|»»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»»» clob_pair_id|body|integer(int64)|false|none|
+|»»»» fill_amount|body|string(uint64)|false|none|
+|»» clob_mid_prices|body|[object]|false|none|
+|»»» clob_pair|body|object|false|ClobPair represents a single CLOB pair for a given product|
+|»»»» id|body|integer(int64)|false|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|»»»» perpetual_clob_metadata|body|object|false|PerpetualClobMetadata contains metadata for a `ClobPair`|
+|»»»»» perpetual_id|body|integer(int64)|false|Id of the Perpetual the CLOB allows trading of.|
+|»»»» spot_clob_metadata|body|object|false|PerpetualClobMetadata contains metadata for a `ClobPair`|
+|»»»»» base_asset_id|body|integer(int64)|false|Id of the base Asset in the trading pair.|
+|»»»»» quote_asset_id|body|integer(int64)|false|Id of the quote Asset in the trading pair.|
+|»»»» step_base_quantums|body|string(uint64)|false|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|»»»» subticks_per_tick|body|integer(int64)|false|Defines the tick size of the orderbook by defining how many subticks|
+|»»»» quantum_conversion_exponent|body|integer(int32)|false|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum|
+|»»»» status|body|string|false|Status of the CLOB.|
+|»»» subticks|body|string(uint64)|false|none|
+|»» bp_mev_matches|body|object|false|ValidatorMevMatches contains all matches from the validator's local|
+|»»» matches|body|[object]|false|none|
+|»»»» taker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» taker_fee_ppm|body|integer(int32)|false|none|
+|»»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»»» maker_order_is_buy|body|boolean|false|none|
+|»»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»»» clob_pair_id|body|integer(int64)|false|none|
+|»»»» fill_amount|body|string(uint64)|false|none|
+|»»» liquidation_matches|body|[object]|false|none|
+|»»»» liquidated_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» insurance_fund_delta_quote_quantums|body|string(int64)|false|none|
+|»»»» maker_order_subaccount_id|body|object|false|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»»» owner|body|string|false|The address of the wallet that owns this subaccount.|
+|»»»»» number|body|integer(int64)|false|The unique number of this subaccount for the owner.|
+|»»»» maker_order_subticks|body|string(uint64)|false|none|
+|»»»» maker_order_is_buy|body|boolean|false|none|
+|»»»» maker_fee_ppm|body|integer(int32)|false|none|
+|»»»» clob_pair_id|body|integer(int64)|false|none|
+|»»»» fill_amount|body|string(uint64)|false|none|
+|»» proposal_receive_time|body|string(uint64)|false|none|
+
+#### Detailed descriptions
+
+**» block_proposer_matches**: Represents the matches on the "block proposer". Note that this field
+does not need to be the actual block proposer's matches for a block, since
+the MEV calculation logic is run with this nodes matches as the "block
+proposer" matches.
+
+**»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»» validator_mev_matches**: ValidatorMevMatches contains all matches from the validator's local
+operations queue.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»» clob_pair**: ClobPair represents a single CLOB pair for a given product
+in state.
+
+**»»»» perpetual_clob_metadata**: PerpetualClobMetadata contains metadata for a `ClobPair`
+representing a Perpetual product.
+
+**»»»» spot_clob_metadata**: PerpetualClobMetadata contains metadata for a `ClobPair`
+representing a Spot product.
+
+**»»»» subticks_per_tick**: Defines the tick size of the orderbook by defining how many subticks
+are in one tick. That is, the subticks of any valid order must be a
+multiple of this value. Generally this value should start `>= 100`to
+allow room for decreasing it.
+
+**»»»» quantum_conversion_exponent**: `10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum
+per Subtick.
+
+**»»»» status**: Status of the CLOB.
+
+ - STATUS_UNSPECIFIED: Default value. This value is invalid and unused.
+ - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair.
+ - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair.
+Clob pairs in this state only accept orders which are
+both short-term and post-only.
+ - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated
+and trading has ceased. All open positions will be closed by the
+protocol. Open stateful orders will be cancelled. Open short-term
+orders will be left to expire.
+
+**»» bp_mev_matches**: ValidatorMevMatches contains all matches from the validator's local
+operations queue.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+**»»»»» number**: The unique number of this subaccount for the owner.
+Currently limited to 128*1000 subaccounts per owner.
+
+#### Enumerated Values
+
+|Parameter|Value|
+|---|---|
+|»»»» status|STATUS_UNSPECIFIED|
+|»»»» status|STATUS_ACTIVE|
+|»»»» status|STATUS_PAUSED|
+|»»»» status|STATUS_CANCEL_ONLY|
+|»»»» status|STATUS_POST_ONLY|
+|»»»» status|STATUS_INITIALIZING|
+|»»»» status|STATUS_FINAL_SETTLEMENT|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*MevNodeToNodeCalculationResponse is a response message that contains the
+MEV node <> node calculation result.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» results|[object]|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» mev|number(float)|false|none|none|
+|»» volume|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## BlockMessageIds
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/delaymsg/block/message_ids/{block_height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/delaymsg/block/message_ids/{block_height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/delaymsg/block/message_ids/{block_height}`
+
+*Queries the DelayedMessages at a given block height.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|block_height|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGetBlockMessageIdsResponse is the response type for the BlockMessageIds
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» message_ids|[integer]|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Message
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/delaymsg/message/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/delaymsg/message/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/delaymsg/message/{id}`
+
+*Queries the DelayedMessage by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGetMessageResponse is the response type for the Message RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» message|object|false|none|DelayedMessage is a message that is delayed until a certain block height.|
+|»» id|integer(int64)|false|none|The ID of the delayed message.|
+|»» msg|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» block_height|integer(int64)|false|none|The block height at which the message should be executed.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## NextDelayedMessageId
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/delaymsg/next_id', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/delaymsg/next_id',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/delaymsg/next_id`
+
+*Queries the next DelayedMessage's id.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryNextDelayedMessageIdResponse is the response type for the
+NextDelayedMessageId RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» next_delayed_message_id|integer(int64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## EpochInfoAll
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/epochs/epoch_info', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/epochs/epoch_info',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/epochs/epoch_info`
+
+*Queries a list of EpochInfo items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEpochInfoAllResponse is response type for the AllEpochInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» epoch_info|[object]|false|none|none|
+|»» name|string|false|none|name is the unique identifier.|
+|»» next_tick|integer(int64)|false|none|next_tick indicates when the next epoch starts (in Unix Epoch seconds), if `EpochInfo` has been initialized. If `EpochInfo` is not initialized yet, `next_tick` indicates the earliest initialization time (see `is_initialized` below).|
+|»» duration|integer(int64)|false|none|duration of the epoch in seconds.|
+|»» current_epoch|integer(int64)|false|none|current epoch is the number of the current epoch. 0 if `next_tick` has never been reached, positive otherwise.|
+|»» current_epoch_start_block|integer(int64)|false|none|current_epoch_start_block indicates the block height when the current epoch started. 0 if `current_epoch` is 0.|
+|»» is_initialized|boolean|false|none|none|
+|»» fast_forward_next_tick|boolean|false|none|fast_forward_next_tick specifies whether during initialization, `next_tick` should be fast-forwarded to be greater than the current block time. If `false`, the original `next_tick` value is unchanged during initialization. If `true`, `next_tick` will be set to the smallest value `x` greater than the current block time such that `(x - next_tick) % duration = 0`.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## EpochInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/epochs/epoch_info/{name}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/epochs/epoch_info/{name}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/epochs/epoch_info/{name}`
+
+*Queries a EpochInfo by name.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|name|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEpochInfoResponse is response type for the GetEpochInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» epoch_info|object|false|none|EpochInfo stores metadata of an epoch timer.|
+|»» name|string|false|none|name is the unique identifier.|
+|»» next_tick|integer(int64)|false|none|next_tick indicates when the next epoch starts (in Unix Epoch seconds), if `EpochInfo` has been initialized. If `EpochInfo` is not initialized yet, `next_tick` indicates the earliest initialization time (see `is_initialized` below).|
+|»» duration|integer(int64)|false|none|duration of the epoch in seconds.|
+|»» current_epoch|integer(int64)|false|none|current epoch is the number of the current epoch. 0 if `next_tick` has never been reached, positive otherwise.|
+|»» current_epoch_start_block|integer(int64)|false|none|current_epoch_start_block indicates the block height when the current epoch started. 0 if `current_epoch` is 0.|
+|»» is_initialized|boolean|false|none|none|
+|»» fast_forward_next_tick|boolean|false|none|fast_forward_next_tick specifies whether during initialization, `next_tick` should be fast-forwarded to be greater than the current block time. If `false`, the original `next_tick` value is unchanged during initialization. If `true`, `next_tick` will be set to the smallest value `x` greater than the current block time such that `(x - next_tick) % duration = 0`.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## PerpetualFeeParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/feetiers/perpetual_fee_params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/feetiers/perpetual_fee_params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/feetiers/perpetual_fee_params`
+
+*Queries the PerpetualFeeParams.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPerpetualFeeParamsResponse is a response type for the PerpetualFeeParams
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|PerpetualFeeParams defines the parameters for perpetual fees.|
+|»» tiers|[object]|false|none|Sorted fee tiers (lowest requirements first).|
+|»»» A fee tier for perpetuals|object|false|none|none|
+|»»»» name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|»»»» absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|»»»» total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|»»»» maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|»»»» maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|»»»» taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## UserFeeTier
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/feetiers/user_fee_tier', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/feetiers/user_fee_tier',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/feetiers/user_fee_tier`
+
+*Queries a user's fee tier*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|user|query|string|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUserFeeTierResponse is a request type for the UserFeeTier RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» index|integer(int64)|false|none|Index of the fee tier in the list queried from PerpetualFeeParams.|
+|» tier|object|false|none|none|
+|»» name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|»» absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|»» total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|»» maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|»» maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|»» taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllLiquidityTiers
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/liquidity_tiers', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/liquidity_tiers',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/liquidity_tiers`
+
+*Queries a list of LiquidityTiers.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllLiquidityTiersResponse is response type for the AllLiquidityTiers RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» liquidity_tiers|[object]|false|none|none|
+|»» id|integer(int64)|false|none|Unique id.|
+|»» name|string|false|none|The name of the tier purely for mnemonic purposes, e.g. "Gold".|
+|»» initial_margin_ppm|integer(int64)|false|none|The margin fraction needed to open a position. In parts-per-million.|
+|»» maintenance_fraction_ppm|integer(int64)|false|none|The fraction of the initial-margin that the maintenance-margin is, e.g. 50%. In parts-per-million.|
+|»» base_position_notional|string(uint64)|false|none|The maximum position size at which the margin requirements are not increased over the default values. Above this position size, the margin requirements increase at a rate of sqrt(size).
Deprecated since v3.x.|
+|»» impact_notional|string(uint64)|false|none|The impact notional amount (in quote quantums) is used to determine impact bid/ask prices and its recommended value is 500 USDC / initial margin fraction. - Impact bid price = average execution price for a market sell of the impact notional value. - Impact ask price = average execution price for a market buy of the impact notional value.|
+|»» open_interest_lower_cap|string(uint64)|false|none|Lower cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF is not affected when OI <= open_interest_lower_cap.|
+|»» open_interest_upper_cap|string(uint64)|false|none|Upper cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF scales linearly to 100% as OI approaches open_interest_upper_cap. If zero, then the IMF does not scale with OI.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## PerpetualParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/params`
+
+*Queries the perpetual params.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|Params defines the parameters for x/perpetuals module.|
+|»» funding_rate_clamp_factor_ppm|integer(int64)|false|none|Funding rate clamp factor in parts-per-million, used for clamping 8-hour funding rates according to equation: |R| <= funding_rate_clamp_factor * (initial margin - maintenance margin).|
+|»» premium_vote_clamp_factor_ppm|integer(int64)|false|none|Premium vote clamp factor in parts-per-million, used for clamping premium votes according to equation: |V| <= premium_vote_clamp_factor * (initial margin - maintenance margin).|
+|»» min_num_votes_per_sample|integer(int64)|false|none|Minimum number of premium votes per premium sample. If number of premium votes is smaller than this number, pad with zeros up to this number.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllPerpetuals
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/perpetual', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/perpetual',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/perpetual`
+
+*Queries a list of Perpetual items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllPerpetualsResponse is response type for the AllPerpetuals RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» perpetual|[object]|false|none|none|
+|»» params|object|false|none|PerpetualParams is the parameters of the perpetual.|
+|»»» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|»»» ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|»»» market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|»»» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|»»» default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|»»» liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|»»» market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+|»» funding_index|string(byte)|false|none|The current index determined by the cumulative all-time history of the funding mechanism. Starts at zero.|
+|»» open_interest|string(byte)|false|none|Total size of open long contracts, measured in base_quantums.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Perpetual
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/perpetual/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/perpetual/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/perpetual/{id}`
+
+*Queries a Perpetual by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPerpetualResponse is response type for the Perpetual RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» perpetual|object|false|none|Perpetual represents a perpetual on the dYdX exchange.|
+|»» params|object|false|none|PerpetualParams is the parameters of the perpetual.|
+|»»» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|»»» ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|»»» market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|»»» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|»»» default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|»»» liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|»»» market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+|»» funding_index|string(byte)|false|none|The current index determined by the cumulative all-time history of the funding mechanism. Starts at zero.|
+|»» open_interest|string(byte)|false|none|Total size of open long contracts, measured in base_quantums.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## PremiumSamples
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/premium_samples', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/premium_samples',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/premium_samples`
+
+*Queries a list of premium samples.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPremiumSamplesResponse is the response type for the PremiumSamples RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» premium_samples|object|false|none|PremiumStore is a struct to store a perpetual premiums for all perpetual markets. It stores a list of `MarketPremiums`, each of which corresponds to a perpetual market and stores a list of non-zero premium values for that market. This struct can either be used to store `PremiumVotes` or `PremiumSamples`.|
+|»» all_market_premiums|[object]|false|none|all_market_premiums a list of `MarketPremiums`, each corresponding to a perpetual market.|
+|»»» perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|»»» premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+|»» num_premiums|integer(int64)|false|none|number of rounds where premium values were added. This value indicates the total number of premiums (zeros and non-zeros) for each `MarketPremiums` struct. Note that in the edge case a perpetual market was added in the middle of a epoch, we don't keep a seperate count for that market. This means we treat this market as having zero premiums before it was added.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## PremiumVotes
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/perpetuals/premium_votes', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/perpetuals/premium_votes',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/perpetuals/premium_votes`
+
+*Queries a list of premium votes.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPremiumVotesResponse is the response type for the PremiumVotes RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» premium_votes|object|false|none|PremiumStore is a struct to store a perpetual premiums for all perpetual markets. It stores a list of `MarketPremiums`, each of which corresponds to a perpetual market and stores a list of non-zero premium values for that market. This struct can either be used to store `PremiumVotes` or `PremiumSamples`.|
+|»» all_market_premiums|[object]|false|none|all_market_premiums a list of `MarketPremiums`, each corresponding to a perpetual market.|
+|»»» perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|»»» premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+|»» num_premiums|integer(int64)|false|none|number of rounds where premium values were added. This value indicates the total number of premiums (zeros and non-zeros) for each `MarketPremiums` struct. Note that in the edge case a perpetual market was added in the middle of a epoch, we don't keep a seperate count for that market. This means we treat this market as having zero premiums before it was added.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllMarketPrices
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/prices/market', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/prices/market',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/prices/market`
+
+*Queries a list of MarketPrice items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllMarketPricesResponse is response type for the Query/Params
+`AllMarketPrices` RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» market_prices|[object]|false|none|none|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated value that matches `MarketParam`.|
+|»» exponent|integer(int32)|false|none|Static value. The exponent of the price. See the comment on the duplicate MarketParam field for more information.|
+|»» price|string(uint64)|false|none|The variable value that is updated by oracle price updates. `0` if it has never been updated, `>0` otherwise.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## MarketPrice
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/prices/market/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/prices/market/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/prices/market/{id}`
+
+*Queries a MarketPrice by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryMarketPriceResponse is response type for the Query/Params `MarketPrice`
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» market_price|object|false|none|MarketPrice is used by the application to store/retrieve oracle price.|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated value that matches `MarketParam`.|
+|»» exponent|integer(int32)|false|none|Static value. The exponent of the price. See the comment on the duplicate MarketParam field for more information.|
+|»» price|string(uint64)|false|none|The variable value that is updated by oracle price updates. `0` if it has never been updated, `>0` otherwise.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllMarketParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/prices/params/market', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/prices/params/market',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/prices/params/market`
+
+*Queries a list of MarketParam items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllMarketParamsResponse is response type for the Query/Params
+`AllMarketParams` RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» market_params|[object]|false|none|none|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated value.|
+|»» pair|string|false|none|The human-readable name of the market pair (e.g. `BTC-USD`).|
+|»» exponent|integer(int32)|false|none|Static value. The exponent of the price. For example if `Exponent == -5` then a `Value` of `1,000,000,000` represents ``$10,000`. Therefore `10 ^ Exponent` represents the smallest price step (in dollars) that can be recorded.|
+|»» min_exchanges|integer(int64)|false|none|The minimum number of exchanges that should be reporting a live price for a price update to be considered valid.|
+|»» min_price_change_ppm|integer(int64)|false|none|The minimum allowable change in `price` value that would cause a price update on the network. Measured as `1e-6` (parts per million).|
+|»» exchange_config_json|string|false|none|A string of json that encodes the configuration for resolving the price of this market on various exchanges.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## MarketParam
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/prices/params/market/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/prices/params/market/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/prices/params/market/{id}`
+
+*Queries a MarketParam by id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryMarketParamResponse is response type for the Query/Params `MarketParams`
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» market_param|object|false|none|MarketParam represents the x/prices configuration for markets, including representing price values, resolving markets on individual exchanges, and generating price updates. This configuration is specific to the quote currency.|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated value.|
+|»» pair|string|false|none|The human-readable name of the market pair (e.g. `BTC-USD`).|
+|»» exponent|integer(int32)|false|none|Static value. The exponent of the price. For example if `Exponent == -5` then a `Value` of `1,000,000,000` represents ``$10,000`. Therefore `10 ^ Exponent` represents the smallest price step (in dollars) that can be recorded.|
+|»» min_exchanges|integer(int64)|false|none|The minimum number of exchanges that should be reporting a live price for a price update to be considered valid.|
+|»» min_price_change_ppm|integer(int64)|false|none|The minimum allowable change in `price` value that would cause a price update on the network. Measured as `1e-6` (parts per million).|
+|»» exchange_config_json|string|false|none|A string of json that encodes the configuration for resolving the price of this market on various exchanges.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## RewardParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/rewards/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/rewards/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/rewards/params`
+
+*Queries the Params.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is a response type for the Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|Params defines the parameters for x/rewards module.|
+|»» treasury_account|string|false|none|The module account to distribute rewards from.|
+|»» denom|string|false|none|The denom of the rewards token.|
+|»» denom_exponent|integer(int32)|false|none|The exponent of converting one unit of `denom` to a full coin. For example, `denom=uatom, denom_exponent=-6` defines that `1 uatom = 10^(-6) ATOM`. This conversion is needed since the `market_id` retrieves the price of a full coin of the reward token.|
+|»» market_id|integer(int64)|false|none|The id of the market that has the price of the rewards token.|
+|»» fee_multiplier_ppm|integer(int64)|false|none|The amount (in ppm) that fees are multiplied by to get the maximum rewards amount.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## GlobalStats
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/stats/global_stats', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/stats/global_stats',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/stats/global_stats`
+
+*Queries GlobalStats.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGlobalStatsResponse is a response type for the GlobalStats RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» stats|object|false|none|none|
+|»» notional_traded|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## StatParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/stats/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/stats/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/stats/params`
+
+*Queries the Params.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is a response type for the Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|Params defines the parameters for x/stats module.|
+|»» window_duration|string|false|none|The desired number of seconds in the look-back window.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## StatsMetadata
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/stats/stats_metadata', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/stats/stats_metadata',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/stats/stats_metadata`
+
+*Queries StatsMetadata.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryStatsMetadataResponse is a response type for the StatsMetadata RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» metadata|object|false|none|none|
+|»» trailing_epoch|integer(int64)|false|none|The oldest epoch that is included in the stats. The next epoch to be removed from the window.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## UserStats
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/stats/user_stats', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/stats/user_stats',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/stats/user_stats`
+
+*Queries UserStats.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|user|query|string|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUserStatsResponse is a request type for the UserStats RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» stats|object|false|none|none|
+|»» taker_notional|string(uint64)|false|none|none|
+|»» maker_notional|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## CollateralPoolAddress
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/subaccounts/collateral_pool_address/{perpetual_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/subaccounts/collateral_pool_address/{perpetual_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/subaccounts/collateral_pool_address/{perpetual_id}`
+
+*Queries the collateral pool account address for a perpetual id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|perpetual_id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryCollateralPoolAddressResponse is a response type for fetching the
+account address of the collateral pool associated with the passed in
+perpetual id.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» collateral_pool_address|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SubaccountAll
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/subaccounts/subaccount', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/subaccounts/subaccount',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/subaccounts/subaccount`
+
+*Queries a list of Subaccount items.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySubaccountAllResponse is response type for the Query RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» subaccount|[object]|false|none|none|
+|»» id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» asset_positions|[object]|false|none|All `AssetPosition`s associated with this subaccount. Always sorted ascending by `asset_id`.|
+|»»» asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|»»» quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|»»» index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+|»» perpetual_positions|[object]|false|none|All `PerpetualPosition`s associated with this subaccount. Always sorted ascending by `perpetual_id.|
+|»»» perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|»»» quantums|string(byte)|false|none|The size of the position in base quantums.|
+|»»» funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+|»» margin_enabled|boolean|false|none|Set by the owner. If true, then margin trades can be made in this subaccount.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Subaccount
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/subaccounts/subaccount/{owner}/{number}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/subaccounts/subaccount/{owner}/{number}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/subaccounts/subaccount/{owner}/{number}`
+
+*Queries a Subaccount by id*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|owner|path|string|true|none|
+|number|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySubaccountResponse is response type for the Query RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» subaccount|object|false|none|Subaccount defines a single sub-account for a given address. Subaccounts are uniquely indexed by a subaccountNumber/owner pair.|
+|»» id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» asset_positions|[object]|false|none|All `AssetPosition`s associated with this subaccount. Always sorted ascending by `asset_id`.|
+|»»» asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|»»» quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|»»» index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+|»» perpetual_positions|[object]|false|none|All `PerpetualPosition`s associated with this subaccount. Always sorted ascending by `perpetual_id.|
+|»»» perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|»»» quantums|string(byte)|false|none|The size of the position in base quantums.|
+|»»» funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+|»» margin_enabled|boolean|false|none|Set by the owner. If true, then margin trades can be made in this subaccount.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## GetWithdrawalAndTransfersBlockedInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/subaccounts/withdrawals_and_transfers_blocked_info/{perpetual_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/subaccounts/withdrawals_and_transfers_blocked_info/{perpetual_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/subaccounts/withdrawals_and_transfers_blocked_info/{perpetual_id}`
+
+*Queries information about whether withdrawal and transfers are blocked, and
+if so which block they are re-enabled on.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|perpetual_id|path|integer(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGetWithdrawalAndTransfersBlockedInfoRequest is a response type for
+fetching information about whether withdrawals and transfers are blocked.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» negative_tnc_subaccount_seen_at_block|integer(int64)|false|none|none|
+|» chain_outage_seen_at_block|integer(int64)|false|none|none|
+|» withdrawals_and_transfers_unblocked_at_block|integer(int64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## VestEntry
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/dydxprotocol/v4/vest/vest_entry', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/dydxprotocol/v4/vest/vest_entry',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /dydxprotocol/v4/vest/vest_entry`
+
+*Queries the VestEntry.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|vester_account|query|string|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryVestEntryResponse is a response type for the VestEntry RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» entry|object|false|none|VestEntry specifies a Vester Account and the rate at which tokens are dripped into the corresponding Treasury Account.|
+|»» vester_account|string|false|none|The module account to vest tokens from. This is also the key to this `VestEntry` in state.|
+|»» treasury_account|string|false|none|The module account to vest tokens to.|
+|»» denom|string|false|none|The denom of the token to vest.|
+|»» start_time|string(date-time)|false|none|The start time of vest. Before this time, no vest will occur.|
+|»» end_time|string(date-time)|false|none|The end time of vest. At this target date, all funds should be in the Treasury Account and none left in the Vester Account.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## EscrowAddress
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address`
+
+*EscrowAddress returns the escrow address for a particular port and channel id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|unique channel identifier|
+|port_id|path|string|true|unique port identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» escrow_address|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomHash
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/denom_hashes/{trace}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/denom_hashes/{trace}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/denom_hashes/{trace}`
+
+*DenomHash queries a denomination hash information.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|trace|path|string|true|The denomination trace ([port_id]/[channel_id])+/[denom]|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomHashResponse is the response type for the Query/DenomHash RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» hash|string|false|none|hash (in hex format) of the denomination trace information.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomTraces
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/denom_traces', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/denom_traces',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/denom_traces`
+
+*DenomTraces queries all denomination traces.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionsResponse is the response type for the Query/DenomTraces RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» denom_traces|[object]|false|none|denom_traces returns all denominations trace information.|
+|»» path|string|false|none|path defines the chain of port/channel identifiers used for tracing the source of the fungible token.|
+|»» base_denom|string|false|none|base denomination of the relayed fungible token.|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomTrace
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/denom_traces/{hash}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/denom_traces/{hash}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/denom_traces/{hash}`
+
+*DenomTrace queries a denomination trace information.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|hash|path|string|true|hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» denom_trace|object|false|none|DenomTrace contains the base denomination for ICS20 fungible tokens and the source tracing information path.|
+|»» path|string|false|none|path defines the chain of port/channel identifiers used for tracing the source of the fungible token.|
+|»» base_denom|string|false|none|base denomination of the relayed fungible token.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## TotalEscrowForDenom
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/denoms/{denom}/total_escrow', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/denoms/{denom}/total_escrow',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/denoms/{denom}/total_escrow`
+
+*TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denom|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» amount|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## IbcTransferParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/apps/transfer/v1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/apps/transfer/v1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/apps/transfer/v1/params`
+
+*Params queries all parameters of the ibc-transfer module.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» send_enabled|boolean|false|none|send_enabled enables or disables all cross-chain token transfers from this chain.|
+|»» receive_enabled|boolean|false|none|receive_enabled enables or disables all cross-chain token transfers to this chain.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ClientStates
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/client_states', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/client_states',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/client_states`
+
+*ClientStates queries all the IBC light clients of a chain.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClientStatesResponse is the response type for the Query/ClientStates RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» client_states|[object]|false|none|list of stored ClientStates of the chain.|
+|»» client_id|string|false|none|none|
+|»» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ClientState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/client_states/{client_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/client_states/{client_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/client_states/{client_id}`
+
+*ClientState queries an IBC light client.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client state unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClientStateResponse is the response type for the Query/ClientState RPC
+method. Besides the client state, it includes a proof and the height from
+which the proof was retrieved.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ClientStatus
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/client_status/{client_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/client_status/{client_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/client_status/{client_id}`
+
+*Status queries the status of an IBC client.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClientStatusResponse is the response type for the Query/ClientStatus RPC
+method. It returns the current status of the IBC client.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» status|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConsensusStates
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/consensus_states/{client_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/consensus_states/{client_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/consensus_states/{client_id}`
+
+*ConsensusStates queries all the consensus state associated with a given
+client.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client identifier|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConsensusStatesResponse is the response type for the
+Query/ConsensusStates RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» consensus_states|[object]|false|none|none|
+|»» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»» revision_number|string(uint64)|false|none|none|
+|»»» revision_height|string(uint64)|false|none|none|
+|»» consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConsensusStateHeights
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/consensus_states/{client_id}/heights', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/consensus_states/{client_id}/heights',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/consensus_states/{client_id}/heights`
+
+*ConsensusStateHeights queries the height of every consensus states associated with a given client.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client identifier|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConsensusStateHeightsResponse is the response type for the
+Query/ConsensusStateHeights RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» consensus_state_heights|[object]|false|none|none|
+|»» Height is a monotonically increasing data type
+that can be compared against another Height for the purposes of updating and
+freezing clients|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»» revision_number|string(uint64)|false|none|none|
+|»»» revision_height|string(uint64)|false|none|none|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConsensusState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}`
+
+*ConsensusState queries a consensus state associated with a client state at
+a given height.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client identifier|
+|revision_number|path|string(uint64)|true|consensus state revision number|
+|revision_height|path|string(uint64)|true|consensus state revision height|
+|latest_height|query|boolean|false|latest_height overrides the height field and queries the latest stored|
+
+#### Detailed descriptions
+
+**latest_height**: latest_height overrides the height field and queries the latest stored
+ConsensusState.
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConsensusStateResponse is the response type for the Query/ConsensusState
+RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## IbcClientParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/params`
+
+*ClientParams queries all parameters of the ibc client submodule.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClientParamsResponse is the response type for the Query/ClientParams RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» allowed_clients|[string]|false|none|allowed_clients defines the list of allowed client state types which can be created and interacted with. If a client type is removed from the allowed clients list, usage of this client will be disabled until it is added again to the list.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UpgradedClientState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/upgraded_client_states', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/upgraded_client_states',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/upgraded_client_states`
+
+*UpgradedClientState queries an Upgraded IBC light client.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUpgradedClientStateResponse is the response type for the
+Query/UpgradedClientState RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» upgraded_client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## IbcUpgradedConsensusState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/client/v1/upgraded_consensus_states', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/upgraded_consensus_states',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/client/v1/upgraded_consensus_states`
+
+*UpgradedConsensusState queries an Upgraded IBC consensus state.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUpgradedConsensusStateResponse is the response type for the
+Query/UpgradedConsensusState RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» upgraded_consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## VerifyMembership
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/ibc/core/client/v1/verify_membership', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "client_id": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "merkle_path": {
+ "key_path": [
+ "string"
+ ]
+ },
+ "value": "string",
+ "time_delay": "string",
+ "block_delay": "string"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/client/v1/verify_membership',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /ibc/core/client/v1/verify_membership`
+
+*VerifyMembership queries an IBC light client for proof verification of a value at a given key path.*
+
+> Body parameter
+
+```json
+{
+ "client_id": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "merkle_path": {
+ "key_path": [
+ "string"
+ ]
+ },
+ "value": "string",
+ "time_delay": "string",
+ "block_delay": "string"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» client_id|body|string|false|client unique identifier.|
+|» proof|body|string(byte)|false|the proof to be verified by the client.|
+|» proof_height|body|object|false|Normally the RevisionHeight is incremented at each height while keeping|
+|»» revision_number|body|string(uint64)|false|none|
+|»» revision_height|body|string(uint64)|false|none|
+|» merkle_path|body|object|false|the commitment key path.|
+|»» key_path|body|[string]|false|none|
+|» value|body|string(byte)|false|the value which is proven.|
+|» time_delay|body|string(uint64)|false|none|
+|» block_delay|body|string(uint64)|false|none|
+
+#### Detailed descriptions
+
+**» proof_height**: Normally the RevisionHeight is incremented at each height while keeping
+RevisionNumber the same. However some consensus algorithms may choose to
+reset the height in certain conditions e.g. hard forks, state-machine
+breaking changes In these cases, the RevisionNumber is incremented so that
+height continues to be monitonically increasing even as the RevisionHeight
+gets reset
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» success|boolean|false|none|boolean indicating success or failure of proof verification.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ClientConnections
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/client_connections/{client_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/client_connections/{client_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/client_connections/{client_id}`
+
+*ClientConnections queries the connection paths associated with a client
+state.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|client_id|path|string|true|client identifier associated with a connection|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryClientConnectionsResponse is the response type for the
+Query/ClientConnections RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» connection_paths|[string]|false|none|slice of all the connection paths associated with a client.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Connections
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/connections', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/connections',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/connections`
+
+*Connections queries all the IBC connections of a chain.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionsResponse is the response type for the Query/Connections RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» connections|[object]|false|none|list of stored connections of the chain.|
+|»» id|string|false|none|connection identifier.|
+|»» client_id|string|false|none|client associated with this connection.|
+|»» versions|[object]|false|none|none|
+|»»» identifier|string|false|none|none|
+|»»» features|[string]|false|none|none|
+|»» state|string|false|none|current state of the connection end.|
+|»» counterparty|object|false|none|counterparty chain associated with this connection.|
+|»»» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|»»» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|»»» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»»»» key_prefix|string(byte)|false|none|none|
+|»» delay_period|string(uint64)|false|none|delay period associated with this connection.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Connection
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/connections/{connection_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/connections/{connection_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/connections/{connection_id}`
+
+*Connection queries an IBC connection end.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|connection_id|path|string|true|connection unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionResponse is the response type for the Query/Connection RPC
+method. Besides the connection end, it includes a proof and the height from
+which the proof was retrieved.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» connection|object|false|none|ConnectionEnd defines a stateful object on a chain connected to another separate one. NOTE: there must only be 2 defined ConnectionEnds to establish a connection between two chains.|
+|»» client_id|string|false|none|client associated with this connection.|
+|»» versions|[object]|false|none|IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection.|
+|»»» identifier|string|false|none|none|
+|»»» features|[string]|false|none|none|
+|»» state|string|false|none|current state of the connection end.|
+|»» counterparty|object|false|none|counterparty chain associated with this connection.|
+|»»» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|»»» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|»»» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»»»» key_prefix|string(byte)|false|none|none|
+|»» delay_period|string(uint64)|false|none|delay period that must pass before a consensus state can be used for packet-verification NOTE: delay period logic is only implemented by some clients.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConnectionClientState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/connections/{connection_id}/client_state', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/connections/{connection_id}/client_state',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/connections/{connection_id}/client_state`
+
+*ConnectionClientState queries the client state associated with the
+connection.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|connection_id|path|string|true|connection identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionClientStateResponse is the response type for the
+Query/ConnectionClientState RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» identified_client_state|object|false|none|IdentifiedClientState defines a client state with an additional client identifier field.|
+|»» client_id|string|false|none|none|
+|»» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConnectionConsensusState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}`
+
+*ConnectionConsensusState queries the consensus state associated with the
+connection.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|connection_id|path|string|true|connection identifier|
+|revision_number|path|string(uint64)|true|none|
+|revision_height|path|string(uint64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionConsensusStateResponse is the response type for the
+Query/ConnectionConsensusState RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» client_id|string|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## IbcConnectionParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/connection/v1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/connection/v1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/connection/v1/params`
+
+*ConnectionParams queries all parameters of the ibc connection submodule.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» max_expected_time_per_block|string(uint64)|false|none|maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the largest amount of time that the chain might reasonably take to produce the next block under normal operating conditions. A safe choice is 3-5x the expected time per block.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Channels
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels`
+
+*Channels queries all the IBC channels of a chain.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryChannelsResponse is the response type for the Query/Channels RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» channels|[object]|false|none|list of stored channels of the chain.|
+|»» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|»» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|»» counterparty|object|false|none|none|
+|»»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»»» channel_id|string|false|none|none|
+|»» connection_hops|[string]|false|none|none|
+|»» version|string|false|none|none|
+|»» port_id|string|false|none|none|
+|»» channel_id|string|false|none|none|
+|»» upgrade_sequence|string(uint64)|false|none|none|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Channel
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}`
+
+*Channel queries an IBC Channel.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryChannelResponse is the response type for the Query/Channel RPC method.
+Besides the Channel end, it includes a proof and the height from which the
+proof was retrieved.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» channel|object|false|none|Channel defines pipeline for exactly-once packet delivery between specific modules on separate blockchains, which has at least one end capable of sending packets and one end capable of receiving packets.|
+|»» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|»» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|»» counterparty|object|false|none|none|
+|»»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»»» channel_id|string|false|none|none|
+|»» connection_hops|[string]|false|none|none|
+|»» version|string|false|none|none|
+|»» upgrade_sequence|string(uint64)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ChannelClientState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state`
+
+*ChannelClientState queries for the client state for the channel associated
+with the provided channel identifiers.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryChannelClientStateResponse is the Response type for the
+Query/QueryChannelClientState RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» identified_client_state|object|false|none|IdentifiedClientState defines a client state with an additional client identifier field.|
+|»» client_id|string|false|none|none|
+|»» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ChannelConsensusState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}`
+
+*ChannelConsensusState queries for the consensus state for the channel
+associated with the provided channel identifiers.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|revision_number|path|string(uint64)|true|revision number of the consensus state|
+|revision_height|path|string(uint64)|true|revision height of the consensus state|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryChannelClientStateResponse is the Response type for the
+Query/QueryChannelClientState RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» client_id|string|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## NextSequenceReceive
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence`
+
+*NextSequenceReceive returns the next receive sequence for a given channel.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySequenceResponse is the response type for the
+Query/QueryNextSequenceReceiveResponse RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» next_sequence_receive|string(uint64)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## NextSequenceSend
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send`
+
+*NextSequenceSend returns the next send sequence for a given channel.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryNextSequenceSendResponse is the request type for the
+Query/QueryNextSequenceSend RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» next_sequence_send|string(uint64)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## PacketAcknowledgements
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements`
+
+*PacketAcknowledgements returns all the packet acknowledgements associated
+with a channel.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+|packet_commitment_sequences|query|array[string]|false|list of packet sequences.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPacketAcknowledgemetsResponse is the request type for the
+Query/QueryPacketAcknowledgements RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» acknowledgements|[object]|false|none|none|
+|»» port_id|string|false|none|channel port identifier.|
+|»» channel_id|string|false|none|channel unique identifier.|
+|»» sequence|string(uint64)|false|none|packet sequence.|
+|»» data|string(byte)|false|none|embedded data that represents packet state.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## PacketAcknowledgement
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}`
+
+*PacketAcknowledgement queries a stored packet acknowledgement hash.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|sequence|path|string(uint64)|true|packet sequence|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPacketAcknowledgementResponse defines the client query response for a
+packet which also includes a proof and the height from which the
+proof was retrieved*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» acknowledgement|string(byte)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## PacketCommitments
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments`
+
+*PacketCommitments returns all the packet commitments hashes associated
+with a channel.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPacketCommitmentsResponse is the request type for the
+Query/QueryPacketCommitments RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» commitments|[object]|false|none|none|
+|»» port_id|string|false|none|channel port identifier.|
+|»» channel_id|string|false|none|channel unique identifier.|
+|»» sequence|string(uint64)|false|none|packet sequence.|
+|»» data|string(byte)|false|none|embedded data that represents packet state.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UnreceivedAcks
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks`
+
+*UnreceivedAcks returns all the unreceived IBC acknowledgements associated
+with a channel and sequences.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|packet_ack_sequences|path|array[string]|true|list of acknowledgement sequences|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUnreceivedAcksResponse is the response type for the
+Query/UnreceivedAcks RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» sequences|[string]|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UnreceivedPackets
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets`
+
+*UnreceivedPackets returns all the unreceived IBC packets associated with a
+channel and sequences.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|packet_commitment_sequences|path|array[string]|true|list of packet sequences|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUnreceivedPacketsResponse is the response type for the
+Query/UnreceivedPacketCommitments RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» sequences|[string]|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## PacketCommitment
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}`
+
+*PacketCommitment queries a stored packet commitment hash.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|sequence|path|string(uint64)|true|packet sequence|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPacketCommitmentResponse defines the client query response for a packet
+which also includes a proof and the height from which the proof was
+retrieved*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» commitment|string(byte)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## PacketReceipt
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}`
+
+*PacketReceipt queries if a given packet sequence has been received on the
+queried chain*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|channel unique identifier|
+|port_id|path|string|true|port unique identifier|
+|sequence|path|string(uint64)|true|packet sequence|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPacketReceiptResponse defines the client query response for a packet
+receipt which also includes a proof, and the height from which the proof was
+retrieved*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» received|boolean|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Upgrade
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade`
+
+*Upgrade returns the upgrade for a given port and channel id.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|none|
+|port_id|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» upgrade|object|false|none|Upgrade is a verifiable type which contains the relevant information for an attempted upgrade. It provides the proposed changes to the channel end, the timeout for this upgrade attempt and the next packet sequence which allows the counterparty to efficiently know the highest sequence it has received. The next sequence send is used for pruning and upgrading from unordered to ordered channels.|
+|»» fields|object|false|none|UpgradeFields are the fields in a channel end which may be changed during a channel upgrade.|
+|»»» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|»»» connection_hops|[string]|false|none|none|
+|»»» version|string|false|none|none|
+|»» timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|»»» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»»» revision_number|string(uint64)|false|none|none|
+|»»»» revision_height|string(uint64)|false|none|none|
+|»»» timestamp|string(uint64)|false|none|none|
+|»» next_sequence_send|string(uint64)|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UpgradeError
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error`
+
+*UpgradeError returns the error receipt if the upgrade handshake failed.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|channel_id|path|string|true|none|
+|port_id|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error_receipt|object|false|none|ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the upgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the next sequence.|
+|»» sequence|string(uint64)|false|none|none|
+|»» message|string|false|none|none|
+|» proof|string(byte)|false|none|none|
+|» proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ConnectionChannels
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/connections/{connection}/channels', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/connections/{connection}/channels',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/connections/{connection}/channels`
+
+*ConnectionChannels queries all the channels associated with a connection
+end.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|connection|path|string|true|connection unique identifier|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryConnectionChannelsResponse is the Response type for the
+Query/QueryConnectionChannels RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» channels|[object]|false|none|list of channels associated with a connection.|
+|»» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|»» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|»» counterparty|object|false|none|none|
+|»»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»»» channel_id|string|false|none|none|
+|»» connection_hops|[string]|false|none|none|
+|»» version|string|false|none|none|
+|»» port_id|string|false|none|none|
+|»» channel_id|string|false|none|none|
+|»» upgrade_sequence|string(uint64)|false|none|none|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ChannelParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/ibc/core/channel/v1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/ibc/core/channel/v1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /ibc/core/channel/v1/params`
+
+*ChannelParams queries all parameters of the ibc channel submodule.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» upgrade_timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|»»» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»»» revision_number|string(uint64)|false|none|none|
+|»»»» revision_height|string(uint64)|false|none|none|
+|»»» timestamp|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AccountInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/account_info/{address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/account_info/{address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/account_info/{address}`
+
+*AccountInfo queries account info which is common to all account types.*
+
+Since: cosmos-sdk 0.47
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address is the account address string.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAccountInfoResponse is the Query/AccountInfo response type.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» info|object|false|none|info is the account info which is represented by BaseAccount.|
+|»» address|string|false|none|none|
+|»» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» account_number|string(uint64)|false|none|none|
+|»» sequence|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Accounts
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/accounts', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/accounts',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/accounts`
+
+*Accounts returns all the existing accounts.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+Since: cosmos-sdk 0.43
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAccountsResponse is the response type for the Query/Accounts RPC method.
+
+Since: cosmos-sdk 0.43*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» accounts|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Account
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/accounts/{address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/accounts/{address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/accounts/{address}`
+
+*Account returns account details based on address.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address defines the address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAccountResponse is the response type for the Query/Account RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» account|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AccountAddressByID
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/address_by_id/{id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/address_by_id/{id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/address_by_id/{id}`
+
+*AccountAddressByID returns account address based on account number.*
+
+Since: cosmos-sdk 0.46.2
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|id|path|string(int64)|true|Deprecated, use account_id instead|
+|account_id|query|string(uint64)|false|account_id is the account number of the address to be queried.|
+
+#### Detailed descriptions
+
+**id**: Deprecated, use account_id instead
+
+id is the account number of the address to be queried. This field
+should have been an uint64 (like all account numbers), and will be
+updated to uint64 in a future version of the auth query.
+
+**account_id**: account_id is the account number of the address to be queried.
+
+Since: cosmos-sdk 0.47
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» account_address|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Bech32Prefix
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/bech32', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/bech32',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/bech32`
+
+*Bech32Prefix queries bech32Prefix*
+
+Since: cosmos-sdk 0.46
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*Bech32PrefixResponse is the response type for Bech32Prefix rpc method.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» bech32_prefix|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AddressBytesToString
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/bech32/{address_bytes}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/bech32/{address_bytes}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/bech32/{address_bytes}`
+
+*AddressBytesToString converts Account Address bytes to string*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address_bytes|path|string(byte)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*AddressBytesToStringResponse is the response type for AddressString rpc method.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» address_string|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AddressStringToBytes
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/bech32/{address_string}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/bech32/{address_string}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/bech32/{address_string}`
+
+*AddressStringToBytes converts Address string to bytes*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address_string|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*AddressStringToBytesResponse is the response type for AddressBytes rpc method.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» address_bytes|string(byte)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ModuleAccounts
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/module_accounts', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/module_accounts',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/module_accounts`
+
+*ModuleAccounts returns all the existing module accounts.*
+
+Since: cosmos-sdk 0.46
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» accounts|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ModuleAccountByName
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/module_accounts/{name}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/module_accounts/{name}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/module_accounts/{name}`
+
+*ModuleAccountByName returns the module account info by module name*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|name|path|string|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» account|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AuthParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/auth/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/auth/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/auth/v1beta1/params`
+
+*Params queries all parameters.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» max_memo_characters|string(uint64)|false|none|none|
+|»» tx_sig_limit|string(uint64)|false|none|none|
+|»» tx_size_cost_per_byte|string(uint64)|false|none|none|
+|»» sig_verify_cost_ed25519|string(uint64)|false|none|none|
+|»» sig_verify_cost_secp256k1|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Grants
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/authz/v1beta1/grants', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/authz/v1beta1/grants',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/authz/v1beta1/grants`
+
+*Returns list of `Authorization`, granted to the grantee by the granter.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|granter|query|string|false|none|
+|grantee|query|string|false|none|
+|msg_type_url|query|string|false|Optional, msg_type_url, when set, will query only grants matching given msg type.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGrantsResponse is the response type for the Query/Authorizations RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» grants|[object]|false|none|authorizations is a list of grants granted for grantee by granter.|
+|»» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» expiration|string(date-time)|false|none|none|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GranteeGrants
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/authz/v1beta1/grants/grantee/{grantee}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/authz/v1beta1/grants/grantee/{grantee}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/authz/v1beta1/grants/grantee/{grantee}`
+
+*GranteeGrants returns a list of `GrantAuthorization` by grantee.*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|grantee|path|string|true|none|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» grants|[object]|false|none|grants is a list of grants granted to the grantee.|
+|»» GrantAuthorization extends a grant with both the addresses of the grantee and granter.
+It is used in genesis.proto and query.proto|object|false|none|none|
+|»»» granter|string|false|none|none|
+|»»» grantee|string|false|none|none|
+|»»» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»»» expiration|string(date-time)|false|none|none|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GranterGrants
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/authz/v1beta1/grants/granter/{granter}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/authz/v1beta1/grants/granter/{granter}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/authz/v1beta1/grants/granter/{granter}`
+
+*GranterGrants returns list of `GrantAuthorization`, granted by granter.*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|granter|path|string|true|none|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» grants|[object]|false|none|grants is a list of grants granted by the granter.|
+|»» GrantAuthorization extends a grant with both the addresses of the grantee and granter.
+It is used in genesis.proto and query.proto|object|false|none|none|
+|»»» granter|string|false|none|none|
+|»»» grantee|string|false|none|none|
+|»»» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»»» expiration|string(date-time)|false|none|none|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AllBalances
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/balances/{address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/balances/{address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/balances/{address}`
+
+*AllBalances queries the balance of all coins for a single account.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address is the address to query balances for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+|resolve_denom|query|boolean|false|resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+**resolve_denom**: resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.
+
+Since: cosmos-sdk 0.50
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllBalancesResponse is the response type for the Query/AllBalances RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» balances|[object]|false|none|balances is the balances of all the coins.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Balance
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/balances/{address}/by_denom', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/balances/{address}/by_denom',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/balances/{address}/by_denom`
+
+*Balance queries the balance of a single coin for a single account.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address is the address to query balances for.|
+|denom|query|string|false|denom is the coin denom to query balances for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryBalanceResponse is the response type for the Query/Balance RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomOwners
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/denom_owners/{denom}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/denom_owners/{denom}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/denom_owners/{denom}`
+
+*DenomOwners queries for all account addresses that own a particular token
+denomination.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denom|path|string|true|denom defines the coin denomination to query all account holders for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» denom_owners|[object]|false|none|none|
+|»» address|string|false|none|address defines the address that owns a particular denomination.|
+|»» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomsMetadata
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/denoms_metadata', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/denoms_metadata',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/denoms_metadata`
+
+*DenomsMetadata queries the client metadata for all registered coin
+denominations.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» metadatas|[object]|false|none|metadata provides the client information for all the registered tokens.|
+|»» description|string|false|none|none|
+|»» denom_units|[object]|false|none|none|
+|»»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»»» aliases|[string]|false|none|none|
+|»» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|»» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|»» name|string|false|none|Since: cosmos-sdk 0.43|
+|»» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|»» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|»» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomMetadata
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/denoms_metadata/{denom}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/denoms_metadata/{denom}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/denoms_metadata/{denom}`
+
+*DenomsMetadata queries the client metadata of a given coin denomination.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denom|path|string|true|denom is the coin denom to query the metadata for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» metadata|object|false|none|Metadata represents a struct that describes a basic token.|
+|»» description|string|false|none|none|
+|»» denom_units|[object]|false|none|none|
+|»»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»»» aliases|[string]|false|none|none|
+|»» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|»» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|»» name|string|false|none|Since: cosmos-sdk 0.43|
+|»» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|»» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|»» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DenomMetadataByQueryString
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/denoms_metadata_by_query_string', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/denoms_metadata_by_query_string',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/denoms_metadata_by_query_string`
+
+*DenomsMetadata queries the client metadata of a given coin denomination.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denom|query|string|false|denom is the coin denom to query the metadata for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC
+method. Identical with QueryDenomMetadataResponse but receives denom as query string in request.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» metadata|object|false|none|Metadata represents a struct that describes a basic token.|
+|»» description|string|false|none|none|
+|»» denom_units|[object]|false|none|none|
+|»»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»»» aliases|[string]|false|none|none|
+|»» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|»» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|»» name|string|false|none|Since: cosmos-sdk 0.43|
+|»» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|»» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|»» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## BankParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/params`
+
+*Params queries the parameters of x/bank module.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse defines the response type for querying x/bank parameters.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params provides the parameters of the bank module.|
+|»» send_enabled|[object]|false|none|Deprecated: Use of SendEnabled in params is deprecated. For genesis, use the newly added send_enabled field in the genesis object. Storage, lookup, and manipulation of this information is now in the keeper.
As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.|
+|»»» denom|string|false|none|none|
+|»»» enabled|boolean|false|none|none|
+|»» default_send_enabled|boolean|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SendEnabled
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/send_enabled', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/send_enabled',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/send_enabled`
+
+*SendEnabled queries for SendEnabled entries.*
+
+This query only returns denominations that have specific SendEnabled settings.
+Any denomination that does not have a specific setting will use the default
+params.default_send_enabled, and will not be returned by this query.
+
+Since: cosmos-sdk 0.47
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denoms|query|array[string]|false|denoms is the specific denoms you want look up. Leave empty to get all entries.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySendEnabledResponse defines the RPC response of a SendEnable query.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» send_enabled|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» enabled|boolean|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response. This field is only populated if the denoms field in the request is empty.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SpendableBalances
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/spendable_balances/{address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/spendable_balances/{address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/spendable_balances/{address}`
+
+*SpendableBalances queries the spendable balance of all coins for a single
+account.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address is the address to query spendable balances for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySpendableBalancesResponse defines the gRPC response structure for querying
+an account's spendable balances.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» balances|[object]|false|none|balances is the spendable balances of all the coins.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SpendableBalanceByDenom
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/spendable_balances/{address}/by_denom`
+
+*SpendableBalanceByDenom queries the spendable balance of a single denom for
+a single account.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+Since: cosmos-sdk 0.47
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|address|path|string|true|address is the address to query balances for.|
+|denom|query|string|false|denom is the coin denom to query balances for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySpendableBalanceByDenomResponse defines the gRPC response structure for
+querying an account's spendable balance for a specific denom.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## TotalSupply
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/supply', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/supply',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/supply`
+
+*TotalSupply queries the total supply of all coins.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC
+method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» supply|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.
Since: cosmos-sdk 0.43|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SupplyOf
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/bank/v1beta1/supply/by_denom', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/bank/v1beta1/supply/by_denom',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/bank/v1beta1/supply/by_denom`
+
+*SupplyOf queries the supply of a single coin.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|denom|query|string|false|denom is the coin denom to query balances for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» amount|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## CommunityPool
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/community_pool', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/community_pool',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/community_pool`
+
+*CommunityPool queries the community pool coins.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryCommunityPoolResponse is the response type for the Query/CommunityPool
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» pool|[object]|false|none|pool defines community pool's coins.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DelegationTotalRewards
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards`
+
+*DelegationTotalRewards queries the total rewards accrued by each
+validator.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_address|path|string|true|delegator_address defines the delegator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegationTotalRewardsResponse is the response type for the
+Query/DelegationTotalRewards RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» rewards|[object]|false|none|rewards defines all the rewards accrued by a delegator.|
+|»» validator_address|string|false|none|none|
+|»» reward|[object]|false|none|none|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|» total|[object]|false|none|total defines the sum of all the rewards.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DelegationRewards
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}`
+
+*DelegationRewards queries the total rewards accrued by a delegation.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_address|path|string|true|delegator_address defines the delegator address to query for.|
+|validator_address|path|string|true|validator_address defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegationRewardsResponse is the response type for the
+Query/DelegationRewards RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» rewards|[object]|false|none|rewards defines the rewards accrued by a delegation.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DistDelegatorValidators
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/validators`
+
+*DelegatorValidators queries the validators of a delegator.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_address|path|string|true|delegator_address defines the delegator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegatorValidatorsResponse is the response type for the
+Query/DelegatorValidators RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» validators|[string]|false|none|validators defines the validators a delegator is delegating for.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DelegatorWithdrawAddress
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address`
+
+*DelegatorWithdrawAddress queries withdraw address of a delegator.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_address|path|string|true|delegator_address defines the delegator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegatorWithdrawAddressResponse is the response type for the
+Query/DelegatorWithdrawAddress RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» withdraw_address|string|false|none|withdraw_address defines the delegator address to query for.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DistributionParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/params`
+
+*Params queries params of the distribution module.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» community_tax|string|false|none|none|
+|»» base_proposer_reward|string|false|none|Deprecated: The base_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|»» bonus_proposer_reward|string|false|none|Deprecated: The bonus_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|»» withdraw_addr_enabled|boolean|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ValidatorDistributionInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/validators/{validator_address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/validators/{validator_address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/validators/{validator_address}`
+
+*ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_address|path|string|true|validator_address defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» operator_address|string|false|none|operator_address defines the validator operator address.|
+|» self_bond_rewards|[object]|false|none|self_bond_rewards defines the self delegations rewards.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» commission|[object]|false|none|commission defines the commission the validator received.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ValidatorCommission
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/validators/{validator_address}/commission', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/validators/{validator_address}/commission',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/validators/{validator_address}/commission`
+
+*ValidatorCommission queries accumulated commission for a validator.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_address|path|string|true|validator_address defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorCommissionResponse is the response type for the
+Query/ValidatorCommission RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» commission|object|false|none|commission defines the commission the validator received.|
+|»» commission|[object]|false|none|none|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ValidatorOutstandingRewards
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards`
+
+*ValidatorOutstandingRewards queries rewards of a validator address.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_address|path|string|true|validator_address defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorOutstandingRewardsResponse is the response type for the
+Query/ValidatorOutstandingRewards RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» rewards|object|false|none|ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards for a validator inexpensive to track, allows simple sanity checks.|
+|»» rewards|[object]|false|none|none|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## ValidatorSlashes
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/distribution/v1beta1/validators/{validator_address}/slashes', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/distribution/v1beta1/validators/{validator_address}/slashes',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/distribution/v1beta1/validators/{validator_address}/slashes`
+
+*ValidatorSlashes queries slash events of a validator.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_address|path|string|true|validator_address defines the validator address to query for.|
+|starting_height|query|string(uint64)|false|starting_height defines the optional starting height to query the slashes.|
+|ending_height|query|string(uint64)|false|starting_height defines the optional ending height to query the slashes.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorSlashesResponse is the response type for the
+Query/ValidatorSlashes RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» slashes|[object]|false|none|slashes defines the slashes the validator received.|
+|»» validator_period|string(uint64)|false|none|none|
+|»» fraction|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## AllEvidence
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/evidence/v1beta1/evidence', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/evidence/v1beta1/evidence',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/evidence/v1beta1/evidence`
+
+*AllEvidence queries all evidence.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» evidence|[object]|false|none|evidence returns all evidences.|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Evidence
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/evidence/v1beta1/evidence/{hash}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/evidence/v1beta1/evidence/{hash}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/evidence/v1beta1/evidence/{hash}`
+
+*Evidence queries evidence based on evidence hash.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|hash|path|string|true|hash defines the evidence hash of the requested evidence.|
+|evidence_hash|query|string(byte)|false|evidence_hash defines the hash of the requested evidence.|
+
+#### Detailed descriptions
+
+**hash**: hash defines the evidence hash of the requested evidence.
+
+Since: cosmos-sdk 0.47
+
+**evidence_hash**: evidence_hash defines the hash of the requested evidence.
+Deprecated: Use hash, a HEX encoded string, instead.
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryEvidenceResponse is the response type for the Query/Evidence RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» evidence|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Allowance
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}`
+
+*Allowance returns granted allwance to the grantee by the granter.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|granter|path|string|true|granter is the address of the user granting an allowance of their funds.|
+|grantee|path|string|true|grantee is the address of the user being granted an allowance of another user's funds.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllowanceResponse is the response type for the Query/Allowance RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» allowance|object|false|none|allowance is a allowance granted for grantee by granter.|
+|»» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|»» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|»» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Allowances
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/feegrant/v1beta1/allowances/{grantee}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/feegrant/v1beta1/allowances/{grantee}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/feegrant/v1beta1/allowances/{grantee}`
+
+*Allowances returns all the grants for the given grantee address.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|grantee|path|string|true|none|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllowancesResponse is the response type for the Query/Allowances RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» allowances|[object]|false|none|allowances are allowance's granted for grantee by granter.|
+|»» Grant is stored in the KVStore to record a grant with full context|object|false|none|none|
+|»»» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|»»» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|»»» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AllowancesByGranter
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/feegrant/v1beta1/issued/{granter}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/feegrant/v1beta1/issued/{granter}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/feegrant/v1beta1/issued/{granter}`
+
+*AllowancesByGranter returns all the grants given by an address*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|granter|path|string|true|none|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» allowances|[object]|false|none|allowances that have been issued by the granter.|
+|»» Grant is stored in the KVStore to record a grant with full context|object|false|none|none|
+|»»» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|»»» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|»»» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GovParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/params/{params_type}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/params/{params_type}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/params/{params_type}`
+
+*Params queries all parameters of the gov module.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|params_type|path|string|true|params_type defines which parameters to query for, can be one of "voting",|
+
+#### Detailed descriptions
+
+**params_type**: params_type defines which parameters to query for, can be one of "voting",
+"tallying" or "deposit".
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» voting_params|object|false|none|voting_params defines the parameters related to voting.|
+|»» voting_period|string|false|none|Duration of the voting period.|
+|» deposit_params|object|false|none|deposit_params defines the parameters related to deposit.|
+|»» min_deposit|[object]|false|none|Minimum deposit for a proposal to enter voting period.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|»» max_deposit_period|string|false|none|Maximum period for Atom holders to deposit on a proposal. Initial value: 2 months.|
+|» tally_params|object|false|none|tally_params defines the parameters related to tally.|
+|»» quorum|string(byte)|false|none|Minimum percentage of total stake needed to vote for a result to be considered valid.|
+|»» threshold|string(byte)|false|none|Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.|
+|»» veto_threshold|string(byte)|false|none|Minimum value of Veto votes to Total votes ratio for proposal to be vetoed. Default value: 1/3.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Proposals
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals`
+
+*Proposals queries all proposals based on given status.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_status|query|string|false|proposal_status defines the status of the proposals.|
+|voter|query|string|false|voter defines the voter address for the proposals.|
+|depositor|query|string|false|depositor defines the deposit addresses from the proposals.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**proposal_status**: proposal_status defines the status of the proposals.
+
+ - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.
+ - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
+period.
+ - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
+period.
+ - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
+passed.
+ - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
+been rejected.
+ - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
+failed.
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+#### Enumerated Values
+
+|Parameter|Value|
+|---|---|
+|proposal_status|PROPOSAL_STATUS_UNSPECIFIED|
+|proposal_status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|proposal_status|PROPOSAL_STATUS_VOTING_PERIOD|
+|proposal_status|PROPOSAL_STATUS_PASSED|
+|proposal_status|PROPOSAL_STATUS_REJECTED|
+|proposal_status|PROPOSAL_STATUS_FAILED|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryProposalsResponse is the response type for the Query/Proposals RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» proposals|[object]|false|none|proposals defines all the requested governance proposals.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» content|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» status|string|false|none|status defines the proposal status.|
+|»» final_tally_result|object|false|none|final_tally_result is the final tally result of the proposal. When querying a proposal via gRPC, this field is not populated until the proposal's voting period has ended.|
+|»»» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|»»» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|»»» no|string|false|none|no is the number of no votes on a proposal.|
+|»»» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+|»» submit_time|string(date-time)|false|none|submit_time is the time of proposal submission.|
+|»» deposit_end_time|string(date-time)|false|none|deposit_end_time is the end time for deposition.|
+|»» total_deposit|[object]|false|none|total_deposit is the total deposit on the proposal.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|»» voting_start_time|string(date-time)|false|none|voting_start_time is the starting time to vote on a proposal.|
+|»» voting_end_time|string(date-time)|false|none|voting_end_time is the end time of voting on a proposal.|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|PROPOSAL_STATUS_UNSPECIFIED|
+|status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|status|PROPOSAL_STATUS_VOTING_PERIOD|
+|status|PROPOSAL_STATUS_PASSED|
+|status|PROPOSAL_STATUS_REJECTED|
+|status|PROPOSAL_STATUS_FAILED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Proposal
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}`
+
+*Proposal queries proposal details based on ProposalID.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryProposalResponse is the response type for the Query/Proposal RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» proposal|object|false|none|Proposal defines the core field members of a governance proposal.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» content|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» status|string|false|none|status defines the proposal status.|
+|»» final_tally_result|object|false|none|final_tally_result is the final tally result of the proposal. When querying a proposal via gRPC, this field is not populated until the proposal's voting period has ended.|
+|»»» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|»»» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|»»» no|string|false|none|no is the number of no votes on a proposal.|
+|»»» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+|»» submit_time|string(date-time)|false|none|submit_time is the time of proposal submission.|
+|»» deposit_end_time|string(date-time)|false|none|deposit_end_time is the end time for deposition.|
+|»» total_deposit|[object]|false|none|total_deposit is the total deposit on the proposal.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|»» voting_start_time|string(date-time)|false|none|voting_start_time is the starting time to vote on a proposal.|
+|»» voting_end_time|string(date-time)|false|none|voting_end_time is the end time of voting on a proposal.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|PROPOSAL_STATUS_UNSPECIFIED|
+|status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|status|PROPOSAL_STATUS_VOTING_PERIOD|
+|status|PROPOSAL_STATUS_PASSED|
+|status|PROPOSAL_STATUS_REJECTED|
+|status|PROPOSAL_STATUS_FAILED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Deposits
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits`
+
+*Deposits queries all deposits of a single proposal.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDepositsResponse is the response type for the Query/Deposits RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» deposits|[object]|false|none|deposits defines the requested deposits.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» depositor|string|false|none|depositor defines the deposit addresses from the proposals.|
+|»» amount|[object]|false|none|amount to be deposited by depositor.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Deposit
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}`
+
+*Deposit queries single deposit information based on proposalID, depositor address.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+|depositor|path|string|true|depositor defines the deposit addresses from the proposals.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDepositResponse is the response type for the Query/Deposit RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» deposit|object|false|none|Deposit defines an amount deposited by an account address to an active proposal.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» depositor|string|false|none|depositor defines the deposit addresses from the proposals.|
+|»» amount|[object]|false|none|amount to be deposited by depositor.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## TallyResult
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}/tally', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}/tally',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}/tally`
+
+*TallyResult queries the tally of a proposal vote.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryTallyResultResponse is the response type for the Query/Tally RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» tally|object|false|none|tally defines the requested tally.|
+|»» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|»» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|»» no|string|false|none|no is the number of no votes on a proposal.|
+|»» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Votes
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}/votes', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}/votes',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}/votes`
+
+*Votes queries votes of a given proposal.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryVotesResponse is the response type for the Query/Votes RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» votes|[object]|false|none|votes defines the queried votes.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» voter|string|false|none|voter is the voter address of the proposal.|
+|»» option|string|false|none|Deprecated: Prefer to use `options` instead. This field is set in queries if and only if `len(options) == 1` and that option has weight 1. In all other cases, this field will default to VOTE_OPTION_UNSPECIFIED.|
+|»» options|[object]|false|none|options is the weighted vote options.
Since: cosmos-sdk 0.43|
+|»»» option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|»»» weight|string|false|none|weight is the vote weight associated with the vote option.|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Vote
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}`
+
+*Vote queries voted information based on proposalID, voterAddr.
+Due to how we handle state, this query would error for proposals that has already been finished.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|proposal_id|path|string(uint64)|true|proposal_id defines the unique id of the proposal.|
+|voter|path|string|true|voter defines the voter address for the proposals.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryVoteResponse is the response type for the Query/Vote RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» vote|object|false|none|Vote defines a vote on a governance proposal. A Vote consists of a proposal ID, the voter, and the vote option.|
+|»» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|»» voter|string|false|none|voter is the voter address of the proposal.|
+|»» option|string|false|none|Deprecated: Prefer to use `options` instead. This field is set in queries if and only if `len(options) == 1` and that option has weight 1. In all other cases, this field will default to VOTE_OPTION_UNSPECIFIED.|
+|»» options|[object]|false|none|options is the weighted vote options.
Since: cosmos-sdk 0.43|
+|»»» option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|»»» weight|string|false|none|weight is the vote weight associated with the vote option.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AnnualProvisions
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/mint/v1beta1/annual_provisions', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/mint/v1beta1/annual_provisions',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/mint/v1beta1/annual_provisions`
+
+*AnnualProvisions current minting annual provisions value.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAnnualProvisionsResponse is the response type for the
+Query/AnnualProvisions RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» annual_provisions|string(byte)|false|none|annual_provisions is the current minting annual provisions value.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Inflation
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/mint/v1beta1/inflation', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/mint/v1beta1/inflation',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/mint/v1beta1/inflation`
+
+*Inflation returns the current minting inflation value.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryInflationResponse is the response type for the Query/Inflation RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» inflation|string(byte)|false|none|inflation is the current minting inflation value.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## MintParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/mint/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/mint/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/mint/v1beta1/params`
+
+*Params returns the total set of minting parameters.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params defines the parameters of the module.|
+|»» mint_denom|string|false|none|none|
+|»» inflation_rate_change|string|false|none|none|
+|»» inflation_max|string|false|none|none|
+|»» inflation_min|string|false|none|none|
+|»» goal_bonded|string|false|none|none|
+|»» blocks_per_year|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Params
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/params/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/params/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/params/v1beta1/params`
+
+*Params queries a specific parameter of a module, given its subspace and
+key.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|subspace|query|string|false|subspace defines the module to query the parameter for.|
+|key|query|string|false|key defines the key of the parameter in the subspace.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» param|object|false|none|param defines the queried parameter.|
+|»» subspace|string|false|none|none|
+|»» key|string|false|none|none|
+|»» value|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## Subspaces
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/params/v1beta1/subspaces', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/params/v1beta1/subspaces',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/params/v1beta1/subspaces`
+
+*Subspaces queries for all registered subspaces and all keys for a subspace.*
+
+Since: cosmos-sdk 0.46
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySubspacesResponse defines the response types for querying for all
+registered subspaces and all keys for a subspace.
+
+Since: cosmos-sdk 0.46*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» subspaces|[object]|false|none|none|
+|»» subspace|string|false|none|none|
+|»» keys|[string]|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SlashingParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/slashing/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/slashing/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/slashing/v1beta1/params`
+
+*Params queries the parameters of slashing module*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is the response type for the Query/Params RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|Params represents the parameters used for by the slashing module.|
+|»» signed_blocks_window|string(int64)|false|none|none|
+|»» min_signed_per_window|string(byte)|false|none|none|
+|»» downtime_jail_duration|string|false|none|none|
+|»» slash_fraction_double_sign|string(byte)|false|none|none|
+|»» slash_fraction_downtime|string(byte)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SigningInfos
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/slashing/v1beta1/signing_infos', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/slashing/v1beta1/signing_infos',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/slashing/v1beta1/signing_infos`
+
+*SigningInfos queries signing info of all validators*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC
+method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» info|[object]|false|none|none|
+|»» address|string|false|none|none|
+|»» start_height|string(int64)|false|none|none|
+|»» index_offset|string(int64)|false|none|Index which is incremented every time a validator is bonded in a block and _may_ have signed a pre-commit or not. This in conjunction with the signed_blocks_window param determines the index in the missed block bitmap.|
+|»» jailed_until|string(date-time)|false|none|Timestamp until which the validator is jailed due to liveness downtime.|
+|»» tombstoned|boolean|false|none|Whether or not a validator has been tombstoned (killed out of validator set). It is set once the validator commits an equivocation or for any other configured misbehavior.|
+|»» missed_blocks_counter|string(int64)|false|none|A counter of missed (unsigned) blocks. It is used to avoid unnecessary reads in the missed block bitmap.|
+|» pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## SigningInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/slashing/v1beta1/signing_infos/{cons_address}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/slashing/v1beta1/signing_infos/{cons_address}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/slashing/v1beta1/signing_infos/{cons_address}`
+
+*SigningInfo queries the signing info of given cons address*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|cons_address|path|string|true|cons_address is the address to query signing info of|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC
+method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» val_signing_info|object|false|none|ValidatorSigningInfo defines a validator's signing info for monitoring their liveness activity.|
+|»» address|string|false|none|none|
+|»» start_height|string(int64)|false|none|none|
+|»» index_offset|string(int64)|false|none|Index which is incremented every time a validator is bonded in a block and _may_ have signed a pre-commit or not. This in conjunction with the signed_blocks_window param determines the index in the missed block bitmap.|
+|»» jailed_until|string(date-time)|false|none|Timestamp until which the validator is jailed due to liveness downtime.|
+|»» tombstoned|boolean|false|none|Whether or not a validator has been tombstoned (killed out of validator set). It is set once the validator commits an equivocation or for any other configured misbehavior.|
+|»» missed_blocks_counter|string(int64)|false|none|A counter of missed (unsigned) blocks. It is used to avoid unnecessary reads in the missed block bitmap.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|none|
+|»» value|string(byte)|false|none|none|
+
+
+
+## DelegatorDelegations
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/delegations/{delegator_addr}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/delegations/{delegator_addr}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/delegations/{delegator_addr}`
+
+*DelegatorDelegations queries all delegations of a given delegator address.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegatorDelegationsResponse is response type for the
+Query/DelegatorDelegations RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» delegation_responses|[object]|false|none|delegation_responses defines all the delegations' info of a delegator.|
+|»» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»»» shares|string|false|none|shares define the delegation shares received.|
+|»» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Redelegations
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations`
+
+*Redelegations queries redelegations of given address.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+|src_validator_addr|query|string|false|src_validator_addr defines the validator address to redelegate from.|
+|dst_validator_addr|query|string|false|dst_validator_addr defines the validator address to redelegate to.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryRedelegationsResponse is response type for the Query/Redelegations RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» redelegation_responses|[object]|false|none|none|
+|»» redelegation|object|false|none|Redelegation contains the list of a particular delegator's redelegating bonds from a particular source validator to a particular destination validator.|
+|»»» delegator_address|string|false|none|delegator_address is the bech32-encoded address of the delegator.|
+|»»» validator_src_address|string|false|none|validator_src_address is the validator redelegation source operator address.|
+|»»» validator_dst_address|string|false|none|validator_dst_address is the validator redelegation destination operator address.|
+|»»» entries|[object]|false|none|entries are the redelegation entries.|
+|»»»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»»»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»»»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»»»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»»»» unbonding_id|string(uint64)|false|none|none|
+|»»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» entries|[object]|false|none|none|
+|»»» redelegation_entry|object|false|none|RedelegationEntry defines a redelegation object with relevant metadata.|
+|»»»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»»»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»»»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»»»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»»»» unbonding_id|string(uint64)|false|none|none|
+|»»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»»» balance|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## DelegatorUnbondingDelegations
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations`
+
+*DelegatorUnbondingDelegations queries all unbonding delegations of a given
+delegator address.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUnbondingDelegatorDelegationsResponse is response type for the
+Query/UnbondingDelegatorDelegations RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» unbonding_responses|[object]|false|none|none|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»»» unbonding_id|string(uint64)|false|none|none|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## DelegatorValidators
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators`
+
+*DelegatorValidators queries all validators info for given delegator
+address.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegatorValidatorsResponse is response type for the
+Query/DelegatorValidators RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» validators|[object]|false|none|validators defines the validators' info of a delegator.|
+|»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»» description|object|false|none|description defines the description terms for the validator.|
+|»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»» website|string|false|none|website defines an optional website link.|
+|»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»» details|string|false|none|details define other optional details.|
+|»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»» commission|object|false|none|commission defines the commission parameters.|
+|»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» unbonding_ids|[string]|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## DelegatorValidator
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}`
+
+*DelegatorValidator queries validator info for given delegator validator
+pair.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegatorValidatorResponse response type for the
+Query/DelegatorValidator RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» validator|object|false|none|Validator defines a validator, together with the total amount of the Validator's bond shares and their exchange rate to coins. Slashing results in a decrease in the exchange rate, allowing correct calculation of future undelegations without iterating over delegators. When coins are delegated to this validator, the validator is credited with a delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate.|
+|»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»» description|object|false|none|description defines the description terms for the validator.|
+|»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»» website|string|false|none|website defines an optional website link.|
+|»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»» details|string|false|none|details define other optional details.|
+|»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»» commission|object|false|none|commission defines the commission parameters.|
+|»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## HistoricalInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/historical_info/{height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/historical_info/{height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/historical_info/{height}`
+
+*HistoricalInfo queries the historical info for given height.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|height|path|string(int64)|true|height defines at which height to query the historical info.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» hist|object|false|none|hist defines the historical info at the given height.|
+|»» header|object|false|none|Header defines the structure of a block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string(byte)|false|none|none|
+|»» valset|[object]|false|none|none|
+|»»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»»» description|object|false|none|description defines the description terms for the validator.|
+|»»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»»» website|string|false|none|website defines an optional website link.|
+|»»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»»» details|string|false|none|details define other optional details.|
+|»»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»»» commission|object|false|none|commission defines the commission parameters.|
+|»»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»»» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## StakingParams
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/params', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/params',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/params`
+
+*Parameters queries the staking parameters.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryParamsResponse is response type for the Query/Params RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» params|object|false|none|params holds all the parameters of this module.|
+|»» unbonding_time|string|false|none|unbonding_time is the time duration of unbonding.|
+|»» max_validators|integer(int64)|false|none|max_validators is the maximum number of validators.|
+|»» max_entries|integer(int64)|false|none|max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).|
+|»» historical_entries|integer(int64)|false|none|historical_entries is the number of historical entries to persist.|
+|»» bond_denom|string|false|none|bond_denom defines the bondable coin denomination.|
+|»» min_commission_rate|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Pool
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/pool', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/pool',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/pool`
+
+*Pool queries the pool info.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryPoolResponse is response type for the Query/Pool RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» pool|object|false|none|pool defines the pool info.|
+|»» not_bonded_tokens|string|false|none|none|
+|»» bonded_tokens|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Validators
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators`
+
+*Validators queries all validators that match the given status.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|status|query|string|false|status enables to query for validators matching a given status.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorsResponse is response type for the Query/Validators RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» validators|[object]|false|none|validators contains all the queried validators.|
+|»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»» description|object|false|none|description defines the description terms for the validator.|
+|»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»» website|string|false|none|website defines an optional website link.|
+|»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»» details|string|false|none|details define other optional details.|
+|»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»» commission|object|false|none|commission defines the commission parameters.|
+|»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» unbonding_ids|[string]|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Validator
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators/{validator_addr}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators/{validator_addr}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators/{validator_addr}`
+
+*Validator queries validator info for given validator address.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorResponse is response type for the Query/Validator RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» validator|object|false|none|Validator defines a validator, together with the total amount of the Validator's bond shares and their exchange rate to coins. Slashing results in a decrease in the exchange rate, allowing correct calculation of future undelegations without iterating over delegators. When coins are delegated to this validator, the validator is credited with a delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate.|
+|»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»» description|object|false|none|description defines the description terms for the validator.|
+|»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»» website|string|false|none|website defines an optional website link.|
+|»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»» details|string|false|none|details define other optional details.|
+|»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»» commission|object|false|none|commission defines the commission parameters.|
+|»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ValidatorDelegations
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations`
+
+*ValidatorDelegations queries delegate info for given validator.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorDelegationsResponse is response type for the
+Query/ValidatorDelegations RPC method*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» delegation_responses|[object]|false|none|none|
+|»» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»»» shares|string|false|none|shares define the delegation shares received.|
+|»» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Delegation
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}`
+
+*Delegation queries delegate info for given validator delegator pair.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegationResponse is response type for the Query/Delegation RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» delegation_response|object|false|none|DelegationResponse is equivalent to Delegation except that it contains a balance in addition to shares which is more suitable for client responses.|
+|»» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»»» shares|string|false|none|shares define the delegation shares received.|
+|»» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UnbondingDelegation
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation`
+
+*UnbondingDelegation queries unbonding info for given validator delegator
+pair.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+|delegator_addr|path|string|true|delegator_addr defines the delegator address to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryDelegationResponse is response type for the Query/UnbondingDelegation
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» unbond|object|false|none|UnbondingDelegation stores all of a single delegator's unbonding bonds for a single validator in an time-ordered list.|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»»» unbonding_id|string(uint64)|false|none|none|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ValidatorUnbondingDelegations
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations`
+
+*ValidatorUnbondingDelegations queries unbonding delegations of a validator.*
+
+When called from another module, this query might consume a high amount of
+gas if the pagination field is incorrectly set.
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|validator_addr|path|string|true|validator_addr defines the validator address to query for.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryValidatorUnbondingDelegationsResponse is response type for the
+Query/ValidatorUnbondingDelegations RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» unbonding_responses|[object]|false|none|none|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»»» unbonding_id|string(uint64)|false|none|none|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» pagination|object|false|none|pagination defines the pagination in the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## AppliedPlan
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/upgrade/v1beta1/applied_plan/{name}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/upgrade/v1beta1/applied_plan/{name}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/upgrade/v1beta1/applied_plan/{name}`
+
+*AppliedPlan queries a previously applied upgrade plan by its name.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|name|path|string|true|name is the name of the applied plan to query for.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» height|string(int64)|false|none|height is the block height at which the plan was applied.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Authority
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/upgrade/v1beta1/authority', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/upgrade/v1beta1/authority',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/upgrade/v1beta1/authority`
+
+*Returns the account with authority to conduct upgrades*
+
+Since: cosmos-sdk 0.46
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryAuthorityResponse is the response type for Query/Authority*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» address|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## CurrentPlan
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/upgrade/v1beta1/current_plan', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/upgrade/v1beta1/current_plan',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/upgrade/v1beta1/current_plan`
+
+*CurrentPlan queries the current upgrade plan.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC
+method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» plan|object|false|none|plan is the current upgrade plan.|
+|»» name|string|false|none|Sets the name for the upgrade. This name will be used by the upgraded version of the software to apply any special "on-upgrade" commands during the first BeginBlock method after the upgrade is applied. It is also used to detect whether a software version can handle a given upgrade. If no upgrade handler with this name has been set in the software, it will be assumed that the software is out-of-date when the upgrade Time or Height is reached and the software will exit.|
+|»» time|string(date-time)|false|none|Deprecated: Time based upgrades have been deprecated. Time based upgrade logic has been removed from the SDK. If this field is not empty, an error will be thrown.|
+|»» height|string(int64)|false|none|The height at which the upgrade must be performed.|
+|»» info|string|false|none|none|
+|»» upgraded_client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ModuleVersions
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/upgrade/v1beta1/module_versions', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/upgrade/v1beta1/module_versions',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/upgrade/v1beta1/module_versions`
+
+*ModuleVersions queries the list of module versions from state.*
+
+Since: cosmos-sdk 0.43
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|module_name|query|string|false|module_name is a field to query a specific module|
+
+#### Detailed descriptions
+
+**module_name**: module_name is a field to query a specific module
+consensus version from state. Leaving this empty will
+fetch the full list of module versions from state.
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryModuleVersionsResponse is the response type for the Query/ModuleVersions
+RPC method.
+
+Since: cosmos-sdk 0.43*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» module_versions|[object]|false|none|module_versions is a list of module names with their consensus versions.|
+|»» name|string|false|none|none|
+|»» version|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## UpgradedConsensusState
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}`
+
+*UpgradedConsensusState queries the consensus state that will serve
+as a trusted kernel for the next version of this chain. It will only be
+stored at the last height of this chain.
+UpgradedConsensusState RPC not supported with legacy querier
+This rpc is deprecated now that IBC has its own replacement
+(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|last_height|path|string(int64)|true|last height of the current chain must be sent in request|
+
+#### Detailed descriptions
+
+**last_height**: last height of the current chain must be sent in request
+as this is the height under which next consensus state is stored
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState
+RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» upgraded_consensus_state|string(byte)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+# Service
+
+## TxDecode
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/decode', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "tx_bytes": "string"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/decode',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/decode`
+
+*TxDecode decodes the transaction.*
+
+Since: cosmos-sdk 0.47
+
+> Body parameter
+
+```json
+{
+ "tx_bytes": "string"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» tx_bytes|body|string(byte)|false|tx_bytes is the raw transaction.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|[cosmos.tx.v1beta1.TxDecodeResponse](#schemacosmos.tx.v1beta1.txdecoderesponse)|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## TxDecodeAmino
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/decode/amino', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "amino_binary": "string"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/decode/amino',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/decode/amino`
+
+*TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.*
+
+Since: cosmos-sdk 0.47
+
+> Body parameter
+
+```json
+{
+ "amino_binary": "string"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» amino_binary|body|string(byte)|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» amino_json|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## TxEncode
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/encode', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/encode',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/encode`
+
+*TxEncode encodes the transaction.*
+
+Since: cosmos-sdk 0.47
+
+> Body parameter
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|[cosmos.tx.v1beta1.TxEncodeRequest](#schemacosmos.tx.v1beta1.txencoderequest)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*TxEncodeResponse is the response type for the
+Service.TxEncode method.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» tx_bytes|string(byte)|false|none|tx_bytes is the encoded transaction bytes.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## TxEncodeAmino
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/encode/amino', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "amino_json": "string"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/encode/amino',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/encode/amino`
+
+*TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.*
+
+Since: cosmos-sdk 0.47
+
+> Body parameter
+
+```json
+{
+ "amino_json": "string"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» amino_json|body|string|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» amino_binary|string(byte)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## Simulate
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/simulate', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ },
+ "tx_bytes": "string"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/simulate',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/simulate`
+
+*Simulate simulates executing a transaction for estimating gas usage.*
+
+> Body parameter
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ },
+ "tx_bytes": "string"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|[cosmos.tx.v1beta1.SimulateRequest](#schemacosmos.tx.v1beta1.simulaterequest)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*SimulateResponse is the response type for the
+Service.SimulateRPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» gas_info|object|false|none|gas_info is the information about gas used in the simulation.|
+|»» gas_wanted|string(uint64)|false|none|GasWanted is the maximum units of work we allow this tx to perform.|
+|»» gas_used|string(uint64)|false|none|GasUsed is the amount of gas actually consumed.|
+|» result|object|false|none|result is the result of the simulation.|
+|»» data|string(byte)|false|none|Data is any data returned from message or handler execution. It MUST be length prefixed in order to separate data from multiple message executions. Deprecated. This field is still populated, but prefer msg_response instead because it also contains the Msg response typeURL.|
+|»» log|string|false|none|Log contains the log information from message or handler execution.|
+|»» events|[object]|false|none|Events contains a slice of Event objects that were emitted during message or handler execution.|
+|»»» type|string|false|none|none|
+|»»» attributes|[object]|false|none|none|
+|»»»» key|string|false|none|none|
+|»»»» value|string|false|none|none|
+|»»»» index|boolean|false|none|none|
+|»» msg_responses|[object]|false|none|msg_responses contains the Msg handler responses type packed in Anys.
Since: cosmos-sdk 0.46|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetTxsEvent
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/tx/v1beta1/txs', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/txs',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/tx/v1beta1/txs`
+
+*GetTxsEvent fetches txs by event.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|events|query|array[string]|false|events is the list of transaction event type.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+|order_by|query|string|false| - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults|
+|page|query|string(uint64)|false|page is the page number to query, starts at 1. If not provided, will|
+|limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|query|query|string|false|query defines the transaction event query that is proxied to Tendermint's|
+
+#### Detailed descriptions
+
+**events**: events is the list of transaction event type.
+Deprecated post v0.47.x: use query instead, which should contain a valid
+events query.
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+**order_by**: - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults
+to ASC in this case.
+ - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order
+ - ORDER_BY_DESC: ORDER_BY_DESC defines descending order
+
+**page**: page is the page number to query, starts at 1. If not provided, will
+default to first page.
+
+**limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**query**: query defines the transaction event query that is proxied to Tendermint's
+TxSearch RPC method. The query must be valid.
+
+Since cosmos-sdk 0.50
+
+#### Enumerated Values
+
+|Parameter|Value|
+|---|---|
+|order_by|ORDER_BY_UNSPECIFIED|
+|order_by|ORDER_BY_ASC|
+|order_by|ORDER_BY_DESC|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|[cosmos.tx.v1beta1.GetTxsEventResponse](#schemacosmos.tx.v1beta1.gettxseventresponse)|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## BroadcastTx
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Content-Type': 'application/json',
+ 'Accept': '*/*'
+}
+
+r = requests.post('/cosmos/tx/v1beta1/txs', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+const inputBody = '{
+ "tx_bytes": "string",
+ "mode": "BROADCAST_MODE_UNSPECIFIED"
+}';
+const headers = {
+ 'Content-Type':'application/json',
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/txs',
+{
+ method: 'POST',
+ body: inputBody,
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`POST /cosmos/tx/v1beta1/txs`
+
+*BroadcastTx broadcast transaction.*
+
+> Body parameter
+
+```json
+{
+ "tx_bytes": "string",
+ "mode": "BROADCAST_MODE_UNSPECIFIED"
+}
+```
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|body|body|object|true|none|
+|» tx_bytes|body|string(byte)|false|tx_bytes is the raw transaction.|
+|» mode|body|string|false|BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC|
+
+#### Detailed descriptions
+
+**» mode**: BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC
+method.
+
+ - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering
+ - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,
+BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.
+ - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits
+for a CheckTx execution response only.
+ - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client
+returns immediately.
+
+#### Enumerated Values
+
+|Parameter|Value|
+|---|---|
+|» mode|BROADCAST_MODE_UNSPECIFIED|
+|» mode|BROADCAST_MODE_BLOCK|
+|» mode|BROADCAST_MODE_SYNC|
+|» mode|BROADCAST_MODE_ASYNC|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*BroadcastTxResponse is the response type for the
+Service.BroadcastTx method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» tx_response|object|false|none|TxResponse defines a structure containing relevant tx data and metadata. The tags are stringified and the log is JSON decoded.|
+|»» height|string(int64)|false|none|none|
+|»» txhash|string|false|none|The transaction hash.|
+|»» codespace|string|false|none|none|
+|»» code|integer(int64)|false|none|Response code.|
+|»» data|string|false|none|Result bytes, if any.|
+|»» raw_log|string|false|none|The output of the application's logger (raw string). May be non-deterministic.|
+|»» logs|[object]|false|none|The output of the application's logger (typed). May be non-deterministic.|
+|»»» msg_index|integer(int64)|false|none|none|
+|»»» log|string|false|none|none|
+|»»» events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|»»»» type|string|false|none|none|
+|»»»» attributes|[object]|false|none|none|
+|»»»»» key|string|false|none|none|
+|»»»»» value|string|false|none|none|
+|»» info|string|false|none|Additional information. May be non-deterministic.|
+|»» gas_wanted|string(int64)|false|none|Amount of gas requested for transaction.|
+|»» gas_used|string(int64)|false|none|Amount of gas consumed by transaction.|
+|»» tx|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» timestamp|string|false|none|Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time.|
+|»» events|[object]|false|none|Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages.
Since: cosmos-sdk 0.42.11, 0.44.5, 0.45|
+|»»» type|string|false|none|none|
+|»»» attributes|[object]|false|none|none|
+|»»»» key|string|false|none|none|
+|»»»» value|string|false|none|none|
+|»»»» index|boolean|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetBlockWithTxs
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/tx/v1beta1/txs/block/{height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/txs/block/{height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/tx/v1beta1/txs/block/{height}`
+
+*GetBlockWithTxs fetches a block with decoded txs.*
+
+Since: cosmos-sdk 0.45.2
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|height|path|string(int64)|true|height is the height of the block to query.|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|[cosmos.tx.v1beta1.GetBlockWithTxsResponse](#schemacosmos.tx.v1beta1.getblockwithtxsresponse)|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetTx
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/tx/v1beta1/txs/{hash}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/tx/v1beta1/txs/{hash}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/tx/v1beta1/txs/{hash}`
+
+*GetTx fetches a tx by hash.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|hash|path|string|true|hash is the tx hash to query, encoded as a hex string.|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|[cosmos.tx.v1beta1.GetTxResponse](#schemacosmos.tx.v1beta1.gettxresponse)|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## ABCIQuery
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/abci_query', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/abci_query',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/abci_query`
+
+*ABCIQuery defines a query handler that supports ABCI queries directly to the
+application, bypassing Tendermint completely. The ABCI query must contain
+a valid and supported path, including app, custom, p2p, and store.*
+
+Since: cosmos-sdk 0.46
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|data|query|string(byte)|false|none|
+|path|query|string|false|none|
+|height|query|string(int64)|false|none|
+|prove|query|boolean|false|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.
+
+Note: This type is a duplicate of the ResponseQuery proto type defined in
+Tendermint.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» code|integer(int64)|false|none|none|
+|» log|string|false|none|none|
+|» info|string|false|none|none|
+|» index|string(int64)|false|none|none|
+|» key|string(byte)|false|none|none|
+|» value|string(byte)|false|none|none|
+|» proof_ops|object|false|none|ProofOps is Merkle proof defined by the list of ProofOps.
Note: This type is a duplicate of the ProofOps proto type defined in Tendermint.|
+|»» ops|[object]|false|none|none|
+|»»» type|string|false|none|none|
+|»»» key|string(byte)|false|none|none|
+|»»» data|string(byte)|false|none|none|
+|» height|string(int64)|false|none|none|
+|» codespace|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetLatestBlock
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/blocks/latest', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/blocks/latest',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/blocks/latest`
+
+*GetLatestBlock returns the latest block.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» block|object|false|none|none|
+|»» header|object|false|none|Header defines the structure of a block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string(byte)|false|none|none|
+|»» data|object|false|none|none|
+|»»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|»» evidence|object|false|none|none|
+|»»» evidence|[object]|false|none|none|
+|»»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» validator_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»»» conflicting_block|object|false|none|none|
+|»»»»»» signed_header|object|false|none|none|
+|»»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»»» chain_id|string|false|none|none|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»»» block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»»» validator_set|object|false|none|none|
+|»»»»»»» validators|[object]|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» proposer|object|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» common_height|string(int64)|false|none|none|
+|»»»»» byzantine_validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» signatures|[object]|false|none|none|
+|»»»» block_id_flag|string|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» signature|string(byte)|false|none|none|
+|» sdk_block|object|false|none|Block is tendermint type Block, with the Header proposer address field converted to bech32 string.|
+|»» header|object|false|none|Header defines the structure of a Tendermint block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+|»» data|object|false|none|none|
+|»»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|»» evidence|object|false|none|none|
+|»»» evidence|[object]|false|none|none|
+|»»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» validator_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»»» conflicting_block|object|false|none|none|
+|»»»»»» signed_header|object|false|none|none|
+|»»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»»» chain_id|string|false|none|none|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»»» block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»»» validator_set|object|false|none|none|
+|»»»»»»» validators|[object]|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» proposer|object|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» common_height|string(int64)|false|none|none|
+|»»»»» byzantine_validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» signatures|[object]|false|none|none|
+|»»»» block_id_flag|string|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetBlockByHeight
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/blocks/{height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/blocks/{height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/blocks/{height}`
+
+*GetBlockByHeight queries block for given height.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|height|path|string(int64)|true|none|
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» block|object|false|none|none|
+|»» header|object|false|none|Header defines the structure of a block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string(byte)|false|none|none|
+|»» data|object|false|none|none|
+|»»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|»» evidence|object|false|none|none|
+|»»» evidence|[object]|false|none|none|
+|»»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» validator_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»»» conflicting_block|object|false|none|none|
+|»»»»»» signed_header|object|false|none|none|
+|»»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»»» chain_id|string|false|none|none|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»»» block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»»» validator_set|object|false|none|none|
+|»»»»»»» validators|[object]|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» proposer|object|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» common_height|string(int64)|false|none|none|
+|»»»»» byzantine_validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» signatures|[object]|false|none|none|
+|»»»» block_id_flag|string|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» signature|string(byte)|false|none|none|
+|» sdk_block|object|false|none|Block is tendermint type Block, with the Header proposer address field converted to bech32 string.|
+|»» header|object|false|none|Header defines the structure of a Tendermint block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+|»» data|object|false|none|none|
+|»»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|»» evidence|object|false|none|none|
+|»»» evidence|[object]|false|none|none|
+|»»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» validator_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»»» conflicting_block|object|false|none|none|
+|»»»»»» signed_header|object|false|none|none|
+|»»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»»» chain_id|string|false|none|none|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»»» block_id|object|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»»» validator_set|object|false|none|none|
+|»»»»»»» validators|[object]|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» proposer|object|false|none|none|
+|»»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» common_height|string(int64)|false|none|none|
+|»»»»» byzantine_validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» signatures|[object]|false|none|none|
+|»»»» block_id_flag|string|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetNodeInfo
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/node_info', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/node_info',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/node_info`
+
+*GetNodeInfo queries the current node info.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» default_node_info|object|false|none|none|
+|»» protocol_version|object|false|none|none|
+|»»» p2p|string(uint64)|false|none|none|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» default_node_id|string|false|none|none|
+|»» listen_addr|string|false|none|none|
+|»» network|string|false|none|none|
+|»» version|string|false|none|none|
+|»» channels|string(byte)|false|none|none|
+|»» moniker|string|false|none|none|
+|»» other|object|false|none|none|
+|»»» tx_index|string|false|none|none|
+|»»» rpc_address|string|false|none|none|
+|» application_version|object|false|none|VersionInfo is the type for the GetNodeInfoResponse message.|
+|»» name|string|false|none|none|
+|»» app_name|string|false|none|none|
+|»» version|string|false|none|none|
+|»» git_commit|string|false|none|none|
+|»» build_tags|string|false|none|none|
+|»» go_version|string|false|none|none|
+|»» build_deps|[object]|false|none|none|
+|»»» Module is the type for VersionInfo|object|false|none|none|
+|»»»» path|string|false|none|none|
+|»»»» version|string|false|none|none|
+|»»»» sum|string|false|none|none|
+|»» cosmos_sdk_version|string|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetSyncing
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/syncing', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/syncing',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/syncing`
+
+*GetSyncing queries node syncing.*
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetSyncingResponse is the response type for the Query/GetSyncing RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» syncing|boolean|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetLatestValidatorSet
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/validatorsets/latest', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/validatorsets/latest',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/validatorsets/latest`
+
+*GetLatestValidatorSet queries latest validator-set.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» block_height|string(int64)|false|none|none|
+|» validators|[object]|false|none|none|
+|»» address|string|false|none|none|
+|»» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» voting_power|string(int64)|false|none|none|
+|»» proposer_priority|string(int64)|false|none|none|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+## GetValidatorSetByHeight
+
+
+
+> Code samples
+
+```python
+import requests
+headers = {
+ 'Accept': '*/*'
+}
+
+r = requests.get('/cosmos/base/tendermint/v1beta1/validatorsets/{height}', headers = headers)
+
+print(r.json())
+
+```
+
+```javascript
+
+const headers = {
+ 'Accept':'*/*'
+};
+
+fetch('/cosmos/base/tendermint/v1beta1/validatorsets/{height}',
+{
+ method: 'GET',
+
+ headers: headers
+})
+.then(function(res) {
+ return res.json();
+}).then(function(body) {
+ console.log(body);
+});
+
+```
+
+`GET /cosmos/base/tendermint/v1beta1/validatorsets/{height}`
+
+*GetValidatorSetByHeight queries validator-set at a given height.*
+
+### Parameters
+
+|Name|In|Type|Required|Description|
+|---|---|---|---|---|
+|height|path|string(int64)|true|none|
+|pagination.key|query|string(byte)|false|key is a value returned in PageResponse.next_key to begin|
+|pagination.offset|query|string(uint64)|false|offset is a numeric offset that can be used when key is unavailable.|
+|pagination.limit|query|string(uint64)|false|limit is the total number of results to be returned in the result page.|
+|pagination.count_total|query|boolean|false|count_total is set to true to indicate that the result set should include|
+|pagination.reverse|query|boolean|false|reverse is set to true if results are to be returned in the descending order.|
+
+#### Detailed descriptions
+
+**pagination.key**: key is a value returned in PageResponse.next_key to begin
+querying the next page most efficiently. Only one of offset or key
+should be set.
+
+**pagination.offset**: offset is a numeric offset that can be used when key is unavailable.
+It is less efficient than using key. Only one of offset or key should
+be set.
+
+**pagination.limit**: limit is the total number of results to be returned in the result page.
+If left empty it will default to a value to be set by each app.
+
+**pagination.count_total**: count_total is set to true to indicate that the result set should include
+a count of the total number of items available for pagination in UIs.
+count_total is only respected when offset is used. It is ignored when key
+is set.
+
+**pagination.reverse**: reverse is set to true if results are to be returned in the descending order.
+
+Since: cosmos-sdk 0.43
+
+> Example responses
+
+> 200 Response
+
+### Responses
+
+|Status|Meaning|Description|Schema|
+|---|---|---|---|
+|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|A successful response.|Inline|
+|default|Default|An unexpected error response.|Inline|
+
+### Response Schema
+
+Status Code **200**
+
+*GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.*
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» block_height|string(int64)|false|none|none|
+|» validators|[object]|false|none|none|
+|»» address|string|false|none|none|
+|»» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» voting_power|string(int64)|false|none|none|
+|»» proposer_priority|string(int64)|false|none|none|
+|» pagination|object|false|none|pagination defines an pagination for the response.|
+|»» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|»» total|string(uint64)|false|none|none|
+
+Status Code **default**
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|» error|string|false|none|none|
+|» code|integer(int32)|false|none|none|
+|» message|string|false|none|none|
+|» details|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+
+
+# Schemas
+
+## cosmos.base.query.v1beta1.PageRequest
+
+
+
+
+
+
+```json
+{
+ "key": "string",
+ "offset": "string",
+ "limit": "string",
+ "count_total": true,
+ "reverse": true
+}
+
+```
+
+PageRequest is to be embedded in gRPC request messages for efficient
+pagination. Ex:
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|key|string(byte)|false|none|key is a value returned in PageResponse.next_key to begin querying the next page most efficiently. Only one of offset or key should be set.|
+|offset|string(uint64)|false|none|offset is a numeric offset that can be used when key is unavailable. It is less efficient than using key. Only one of offset or key should be set.|
+|limit|string(uint64)|false|none|limit is the total number of results to be returned in the result page. If left empty it will default to a value to be set by each app.|
+|count_total|boolean|false|none|count_total is set to true to indicate that the result set should include a count of the total number of items available for pagination in UIs. count_total is only respected when offset is used. It is ignored when key is set.|
+|reverse|boolean|false|none|reverse is set to true if results are to be returned in the descending order.
Since: cosmos-sdk 0.43|
+
+## cosmos.base.query.v1beta1.PageResponse
+
+
+
+
+
+
+```json
+{
+ "next_key": "string",
+ "total": "string"
+}
+
+```
+
+PageResponse is to be embedded in gRPC response messages where the
+corresponding request message has used PageRequest.
+
+ message SomeResponse {
+ repeated Bar results = 1;
+ PageResponse page = 2;
+ }
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|total|string(uint64)|false|none|none|
+
+## dydxprotocol.assets.Asset
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "symbol": "string",
+ "denom": "string",
+ "denom_exponent": 0,
+ "has_market": true,
+ "market_id": 0,
+ "atomic_resolution": 0
+}
+
+```
+
+Asset defines a single exchangable asset.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|Unique, sequentially-generated.|
+|symbol|string|false|none|The human readable symbol of the `Asset` (e.g. `USDC`, `ATOM`). Must be uppercase, unique and correspond to the canonical symbol of the full coin.|
+|denom|string|false|none|The name of base denomination unit of the `Asset` (e.g. `uatom`, 'ibc/xxxxx'). Must be unique and match the `denom` used in the `sdk.Coin` type in the `x/bank` module.|
+|denom_exponent|integer(int32)|false|none|none|
+|has_market|boolean|false|none|`true` if this `Asset` has a valid `MarketId` value.|
+|market_id|integer(int64)|false|none|The `Id` of the `Market` associated with this `Asset`. It acts as the oracle price for the purposes of calculating collateral and margin requirements.|
+|atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (1 'quantum') to a full coin. For example, if `atomic_resolution = -8` then an `asset_position` with `base_quantums = 1e8` is equivalent to a position size of one full coin.|
+
+## dydxprotocol.assets.QueryAllAssetsResponse
+
+
+
+
+
+
+```json
+{
+ "asset": [
+ {
+ "id": 0,
+ "symbol": "string",
+ "denom": "string",
+ "denom_exponent": 0,
+ "has_market": true,
+ "market_id": 0,
+ "atomic_resolution": 0
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllAssetsResponse is response type for the AllAssets RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|asset|[object]|false|none|none|
+|» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|» symbol|string|false|none|The human readable symbol of the `Asset` (e.g. `USDC`, `ATOM`). Must be uppercase, unique and correspond to the canonical symbol of the full coin.|
+|» denom|string|false|none|The name of base denomination unit of the `Asset` (e.g. `uatom`, 'ibc/xxxxx'). Must be unique and match the `denom` used in the `sdk.Coin` type in the `x/bank` module.|
+|» denom_exponent|integer(int32)|false|none|none|
+|» has_market|boolean|false|none|`true` if this `Asset` has a valid `MarketId` value.|
+|» market_id|integer(int64)|false|none|The `Id` of the `Market` associated with this `Asset`. It acts as the oracle price for the purposes of calculating collateral and margin requirements.|
+|» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (1 'quantum') to a full coin. For example, if `atomic_resolution = -8` then an `asset_position` with `base_quantums = 1e8` is equivalent to a position size of one full coin.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.assets.QueryAssetResponse
+
+
+
+
+
+
+```json
+{
+ "asset": {
+ "id": 0,
+ "symbol": "string",
+ "denom": "string",
+ "denom_exponent": 0,
+ "has_market": true,
+ "market_id": 0,
+ "atomic_resolution": 0
+ }
+}
+
+```
+
+QueryAssetResponse is response type for the Asset RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|asset|object|false|none|Asset defines a single exchangable asset.|
+|» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|» symbol|string|false|none|The human readable symbol of the `Asset` (e.g. `USDC`, `ATOM`). Must be uppercase, unique and correspond to the canonical symbol of the full coin.|
+|» denom|string|false|none|The name of base denomination unit of the `Asset` (e.g. `uatom`, 'ibc/xxxxx'). Must be unique and match the `denom` used in the `sdk.Coin` type in the `x/bank` module.|
+|» denom_exponent|integer(int32)|false|none|none|
+|» has_market|boolean|false|none|`true` if this `Asset` has a valid `MarketId` value.|
+|» market_id|integer(int64)|false|none|The `Id` of the `Market` associated with this `Asset`. It acts as the oracle price for the purposes of calculating collateral and margin requirements.|
+|» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (1 'quantum') to a full coin. For example, if `atomic_resolution = -8` then an `asset_position` with `base_quantums = 1e8` is equivalent to a position size of one full coin.|
+
+## google.protobuf.Any
+
+
+
+
+
+
+```json
+{
+ "type_url": "string",
+ "value": "string"
+}
+
+```
+
+`Any` contains an arbitrary serialized protocol buffer message along with a
+URL that describes the type of the serialized message.
+
+Protobuf library provides support to pack/unpack Any values in the form
+of utility functions or additional generated methods of the Any type.
+
+Example 1: Pack and unpack a message in C++.
+
+ Foo foo = ...;
+ Any any;
+ any.PackFrom(foo);
+ ...
+ if (any.UnpackTo(&foo)) {
+ ...
+ }
+
+Example 2: Pack and unpack a message in Java.
+
+ Foo foo = ...;
+ Any any = Any.pack(foo);
+ ...
+ if (any.is(Foo.class)) {
+ foo = any.unpack(Foo.class);
+ }
+
+Example 3: Pack and unpack a message in Python.
+
+ foo = Foo(...)
+ any = Any()
+ any.Pack(foo)
+ ...
+ if any.Is(Foo.DESCRIPTOR):
+ any.Unpack(foo)
+ ...
+
+Example 4: Pack and unpack a message in Go
+
+ foo := &pb.Foo{...}
+ any, err := anypb.New(foo)
+ if err != nil {
+ ...
+ }
+ ...
+ foo := &pb.Foo{}
+ if err := any.UnmarshalTo(foo); err != nil {
+ ...
+ }
+
+The pack methods provided by protobuf library will by default use
+'type.googleapis.com/full.type.name' as the type URL and the unpack
+methods only use the fully qualified type name after the last '/'
+in the type URL, for example "foo.bar.com/x/y.z" will yield type
+name "y.z".
+
+JSON
+
+The JSON representation of an `Any` value uses the regular
+representation of the deserialized, embedded message, with an
+additional field `@type` which contains the type URL. Example:
+
+ package google.profile;
+ message Person {
+ string first_name = 1;
+ string last_name = 2;
+ }
+
+ {
+ "@type": "type.googleapis.com/google.profile.Person",
+ "firstName": ,
+ "lastName":
+ }
+
+If the embedded message type is well-known and has a custom JSON
+representation, that representation will be embedded adding a field
+`value` which holds the custom JSON in addition to the `@type`
+field. Example (for message [google.protobuf.Duration][]):
+
+ {
+ "@type": "type.googleapis.com/google.protobuf.Duration",
+ "value": "1.212s"
+ }
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## grpc.gateway.runtime.Error
+
+
+
+
+
+
+```json
+{
+ "error": "string",
+ "code": 0,
+ "message": "string",
+ "details": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|error|string|false|none|none|
+|code|integer(int32)|false|none|none|
+|message|string|false|none|none|
+|details|[object]|false|none|none|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## dydxprotocol.blocktime.AllDowntimeInfo
+
+
+
+
+
+
+```json
+{
+ "infos": [
+ {
+ "duration": "string",
+ "block_info": {
+ "height": 0,
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+ }
+ ]
+}
+
+```
+
+AllDowntimeInfo stores information for all downtime durations.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|infos|[object]|false|none|The downtime information for each tracked duration. Sorted by duration, ascending. (i.e. the same order as they appear in DowntimeParams).|
+|» duration|string|false|none|none|
+|» block_info|object|false|none|none|
+|»» height|integer(int64)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+
+## dydxprotocol.blocktime.AllDowntimeInfo.DowntimeInfo
+
+
+
+
+
+
+```json
+{
+ "duration": "string",
+ "block_info": {
+ "height": 0,
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+}
+
+```
+
+Stores information about downtime. block_info corresponds to the most
+recent block at which a downtime occurred.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|duration|string|false|none|none|
+|block_info|object|false|none|none|
+|» height|integer(int64)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+
+## dydxprotocol.blocktime.BlockInfo
+
+
+
+
+
+
+```json
+{
+ "height": 0,
+ "timestamp": "2019-08-24T14:15:22Z"
+}
+
+```
+
+BlockInfo stores information about a block
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|integer(int64)|false|none|none|
+|timestamp|string(date-time)|false|none|none|
+
+## dydxprotocol.blocktime.DowntimeParams
+
+
+
+
+
+
+```json
+{
+ "durations": [
+ "string"
+ ]
+}
+
+```
+
+DowntimeParams defines the parameters for downtime.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|durations|[string]|false|none|Durations tracked for downtime. The durations must be sorted from shortest to longest and must all be positive.|
+
+## dydxprotocol.blocktime.QueryAllDowntimeInfoResponse
+
+
+
+
+
+
+```json
+{
+ "info": {
+ "infos": [
+ {
+ "duration": "string",
+ "block_info": {
+ "height": 0,
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+ }
+ ]
+ }
+}
+
+```
+
+QueryAllDowntimeInfoResponse is a request type for the AllDowntimeInfo
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|object|false|none|AllDowntimeInfo stores information for all downtime durations.|
+|» infos|[object]|false|none|The downtime information for each tracked duration. Sorted by duration, ascending. (i.e. the same order as they appear in DowntimeParams).|
+|»» duration|string|false|none|none|
+|»» block_info|object|false|none|none|
+|»»» height|integer(int64)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+
+## dydxprotocol.blocktime.QueryDowntimeParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "durations": [
+ "string"
+ ]
+ }
+}
+
+```
+
+QueryDowntimeParamsResponse is a response type for the DowntimeParams
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|DowntimeParams defines the parameters for downtime.|
+|» durations|[string]|false|none|Durations tracked for downtime. The durations must be sorted from shortest to longest and must all be positive.|
+
+## dydxprotocol.blocktime.QueryPreviousBlockInfoResponse
+
+
+
+
+
+
+```json
+{
+ "info": {
+ "height": 0,
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+}
+
+```
+
+QueryPreviousBlockInfoResponse is a request type for the PreviousBlockInfo
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|object|false|none|none|
+|» height|integer(int64)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+
+## cosmos.base.v1beta1.Coin
+
+
+
+
+
+
+```json
+{
+ "denom": "string",
+ "amount": "string"
+}
+
+```
+
+Coin defines a token with a denomination and an amount.
+
+NOTE: The amount field is an Int which implements the custom method
+signatures required by gogoproto.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom|string|false|none|none|
+|amount|string|false|none|none|
+
+## dydxprotocol.bridge.BridgeEvent
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "coin": {
+ "denom": "string",
+ "amount": "string"
+ },
+ "address": "string",
+ "eth_block_height": "string"
+}
+
+```
+
+BridgeEvent is a recognized event from the Ethereum blockchain.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|The unique id of the Ethereum event log.|
+|coin|object|false|none|The tokens bridged.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|address|string|false|none|The account address or module address to bridge to.|
+|eth_block_height|string(uint64)|false|none|The Ethereum block height of the event.|
+
+## dydxprotocol.bridge.BridgeEventInfo
+
+
+
+
+
+
+```json
+{
+ "next_id": 0,
+ "eth_block_height": "string"
+}
+
+```
+
+BridgeEventInfo stores information about the most recently processed bridge
+event.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|next_id|integer(int64)|false|none|The next event id (the last processed id plus one) of the logs from the Ethereum contract.|
+|eth_block_height|string(uint64)|false|none|The Ethereum block height of the most recently processed bridge event.|
+
+## dydxprotocol.bridge.DelayedCompleteBridgeMessage
+
+
+
+
+
+
+```json
+{
+ "message": {
+ "authority": "string",
+ "event": {
+ "id": 0,
+ "coin": {
+ "denom": "string",
+ "amount": "string"
+ },
+ "address": "string",
+ "eth_block_height": "string"
+ }
+ },
+ "block_height": 0
+}
+
+```
+
+DelayedCompleteBridgeMessage is a message type for the response of
+DelayedCompleteBridgeMessages RPC method. It contains the message
+and the block height at which it will execute.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|message|object|false|none|MsgCompleteBridge is the Msg/CompleteBridgeResponse request type.|
+|» authority|string|false|none|none|
+|» event|object|false|none|The event to complete.|
+|»» id|integer(int64)|false|none|The unique id of the Ethereum event log.|
+|»» coin|object|false|none|The tokens bridged.|
+|»»» denom|string|false|none|none|
+|»»» amount|string|false|none|none|
+|»» address|string|false|none|The account address or module address to bridge to.|
+|»» eth_block_height|string(uint64)|false|none|The Ethereum block height of the event.|
+|block_height|integer(int64)|false|none|none|
+
+## dydxprotocol.bridge.EventParams
+
+
+
+
+
+
+```json
+{
+ "denom": "string",
+ "eth_chain_id": "string",
+ "eth_address": "string"
+}
+
+```
+
+EventParams stores parameters about which events to recognize and which
+tokens to mint.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom|string|false|none|The denom of the token to mint.|
+|eth_chain_id|string(uint64)|false|none|The numerical chain ID of the Ethereum chain to query.|
+|eth_address|string|false|none|The address of the Ethereum contract to monitor for logs.|
+
+## dydxprotocol.bridge.MsgCompleteBridge
+
+
+
+
+
+
+```json
+{
+ "authority": "string",
+ "event": {
+ "id": 0,
+ "coin": {
+ "denom": "string",
+ "amount": "string"
+ },
+ "address": "string",
+ "eth_block_height": "string"
+ }
+}
+
+```
+
+MsgCompleteBridge is the Msg/CompleteBridgeResponse request type.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|authority|string|false|none|none|
+|event|object|false|none|The event to complete.|
+|» id|integer(int64)|false|none|The unique id of the Ethereum event log.|
+|» coin|object|false|none|The tokens bridged.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» address|string|false|none|The account address or module address to bridge to.|
+|» eth_block_height|string(uint64)|false|none|The Ethereum block height of the event.|
+
+## dydxprotocol.bridge.ProposeParams
+
+
+
+
+
+
+```json
+{
+ "max_bridges_per_block": 0,
+ "propose_delay_duration": "string",
+ "skip_rate_ppm": 0,
+ "skip_if_block_delayed_by_duration": "string"
+}
+
+```
+
+ProposeParams stores parameters for proposing to the module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_bridges_per_block|integer(int64)|false|none|The maximum number of bridge events to propose per block. Limits the number of events to propose in a single block in-order to smooth out the flow of events.|
+|propose_delay_duration|string|false|none|The minimum duration to wait between a finalized bridge and proposing it. This allows other validators to have enough time to also recognize its occurence. Therefore the bridge daemon should pool for new finalized events at least as often as this parameter.|
+|skip_rate_ppm|integer(int64)|false|none|Do not propose any events if a [0, 1_000_000) random number generator generates a number smaller than this number. Setting this parameter to 1_000_000 means always skipping proposing events.|
+|skip_if_block_delayed_by_duration|string|false|none|Do not propose any events if the timestamp of the proposal block is behind the proposers' wall-clock by at least this duration.|
+
+## dydxprotocol.bridge.QueryAcknowledgedEventInfoResponse
+
+
+
+
+
+
+```json
+{
+ "info": {
+ "next_id": 0,
+ "eth_block_height": "string"
+ }
+}
+
+```
+
+QueryAcknowledgedEventInfoResponse is a response type for the
+AcknowledgedEventInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|object|false|none|BridgeEventInfo stores information about the most recently processed bridge event.|
+|» next_id|integer(int64)|false|none|The next event id (the last processed id plus one) of the logs from the Ethereum contract.|
+|» eth_block_height|string(uint64)|false|none|The Ethereum block height of the most recently processed bridge event.|
+
+## dydxprotocol.bridge.QueryDelayedCompleteBridgeMessagesResponse
+
+
+
+
+
+
+```json
+{
+ "messages": [
+ {
+ "message": {
+ "authority": "string",
+ "event": {
+ "id": 0,
+ "coin": {},
+ "address": "string",
+ "eth_block_height": "string"
+ }
+ },
+ "block_height": 0
+ }
+ ]
+}
+
+```
+
+QueryDelayedCompleteBridgeMessagesResponse is a response type for the
+DelayedCompleteBridgeMessages RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|messages|[object]|false|none|none|
+|» message|object|false|none|MsgCompleteBridge is the Msg/CompleteBridgeResponse request type.|
+|»» authority|string|false|none|none|
+|»» event|object|false|none|The event to complete.|
+|»»» id|integer(int64)|false|none|The unique id of the Ethereum event log.|
+|»»» coin|object|false|none|The tokens bridged.|
+|»»»» denom|string|false|none|none|
+|»»»» amount|string|false|none|none|
+|»»» address|string|false|none|The account address or module address to bridge to.|
+|»»» eth_block_height|string(uint64)|false|none|The Ethereum block height of the event.|
+|» block_height|integer(int64)|false|none|none|
+
+## dydxprotocol.bridge.QueryEventParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "denom": "string",
+ "eth_chain_id": "string",
+ "eth_address": "string"
+ }
+}
+
+```
+
+QueryEventParamsResponse is a response type for the EventParams RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|EventParams stores parameters about which events to recognize and which tokens to mint.|
+|» denom|string|false|none|The denom of the token to mint.|
+|» eth_chain_id|string(uint64)|false|none|The numerical chain ID of the Ethereum chain to query.|
+|» eth_address|string|false|none|The address of the Ethereum contract to monitor for logs.|
+
+## dydxprotocol.bridge.QueryProposeParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "max_bridges_per_block": 0,
+ "propose_delay_duration": "string",
+ "skip_rate_ppm": 0,
+ "skip_if_block_delayed_by_duration": "string"
+ }
+}
+
+```
+
+QueryProposeParamsResponse is a response type for the ProposeParams RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|ProposeParams stores parameters for proposing to the module.|
+|» max_bridges_per_block|integer(int64)|false|none|The maximum number of bridge events to propose per block. Limits the number of events to propose in a single block in-order to smooth out the flow of events.|
+|» propose_delay_duration|string|false|none|The minimum duration to wait between a finalized bridge and proposing it. This allows other validators to have enough time to also recognize its occurence. Therefore the bridge daemon should pool for new finalized events at least as often as this parameter.|
+|» skip_rate_ppm|integer(int64)|false|none|Do not propose any events if a [0, 1_000_000) random number generator generates a number smaller than this number. Setting this parameter to 1_000_000 means always skipping proposing events.|
+|» skip_if_block_delayed_by_duration|string|false|none|Do not propose any events if the timestamp of the proposal block is behind the proposers' wall-clock by at least this duration.|
+
+## dydxprotocol.bridge.QueryRecognizedEventInfoResponse
+
+
+
+
+
+
+```json
+{
+ "info": {
+ "next_id": 0,
+ "eth_block_height": "string"
+ }
+}
+
+```
+
+QueryRecognizedEventInfoResponse is a response type for the
+RecognizedEventInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|object|false|none|BridgeEventInfo stores information about the most recently processed bridge event.|
+|» next_id|integer(int64)|false|none|The next event id (the last processed id plus one) of the logs from the Ethereum contract.|
+|» eth_block_height|string(uint64)|false|none|The Ethereum block height of the most recently processed bridge event.|
+
+## dydxprotocol.bridge.QuerySafetyParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "is_disabled": true,
+ "delay_blocks": 0
+ }
+}
+
+```
+
+QuerySafetyParamsResponse is a response type for the SafetyParams RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|SafetyParams stores safety parameters for the module.|
+|» is_disabled|boolean|false|none|True if bridging is disabled.|
+|» delay_blocks|integer(int64)|false|none|The number of blocks that bridges accepted in-consensus will be pending until the minted tokens are granted.|
+
+## dydxprotocol.bridge.SafetyParams
+
+
+
+
+
+
+```json
+{
+ "is_disabled": true,
+ "delay_blocks": 0
+}
+
+```
+
+SafetyParams stores safety parameters for the module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|is_disabled|boolean|false|none|True if bridging is disabled.|
+|delay_blocks|integer(int64)|false|none|The number of blocks that bridges accepted in-consensus will be pending until the minted tokens are granted.|
+
+## dydxprotocol.clob.BlockRateLimitConfiguration
+
+
+
+
+
+
+```json
+{
+ "max_short_term_orders_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_stateful_orders_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_short_term_order_cancellations_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_short_term_orders_and_cancels_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ]
+}
+
+```
+
+Defines the block rate limits for CLOB specific operations.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_short_term_orders_per_n_blocks|[object]|false|none|How many short term order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|max_stateful_orders_per_n_blocks|[object]|false|none|How many stateful order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|max_short_term_order_cancellations_per_n_blocks|[object]|false|none|How many short term order cancellation attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order cancellation must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|max_short_term_orders_and_cancels_per_n_blocks|[object]|false|none|How many short term order place and cancel attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+
+## dydxprotocol.clob.ClobMidPrice
+
+
+
+
+
+
+```json
+{
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {
+ "perpetual_id": 0
+ },
+ "spot_clob_metadata": {
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+ },
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "STATUS_UNSPECIFIED"
+ },
+ "subticks": "string"
+}
+
+```
+
+ClobMidPrice contains the mid price of a CLOB pair, represented by it's ID.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|clob_pair|object|false|none|ClobPair represents a single CLOB pair for a given product in state.|
+|» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+|subticks|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.ClobPair
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "perpetual_clob_metadata": {
+ "perpetual_id": 0
+ },
+ "spot_clob_metadata": {
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+ },
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "STATUS_UNSPECIFIED"
+}
+
+```
+
+ClobPair represents a single CLOB pair for a given product
+in state.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.ClobPair.Status
+
+
+
+
+
+
+```json
+"STATUS_UNSPECIFIED"
+
+```
+
+Status of the CLOB.
+
+ - STATUS_UNSPECIFIED: Default value. This value is invalid and unused.
+ - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair.
+ - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized.
+TODO(DEC-600): update this documentation.
+ - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair.
+Clob pairs in this state only accept orders which are
+both short-term and post-only.
+ - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated
+and trading has ceased. All open positions will be closed by the
+protocol. Open stateful orders will be cancelled. Open short-term
+orders will be left to expire.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|STATUS_UNSPECIFIED|
+|*anonymous*|STATUS_ACTIVE|
+|*anonymous*|STATUS_PAUSED|
+|*anonymous*|STATUS_CANCEL_ONLY|
+|*anonymous*|STATUS_POST_ONLY|
+|*anonymous*|STATUS_INITIALIZING|
+|*anonymous*|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.EquityTierLimit
+
+
+
+
+
+
+```json
+{
+ "usd_tnc_required": "string",
+ "limit": 0
+}
+
+```
+
+Defines an equity tier limit.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+
+## dydxprotocol.clob.EquityTierLimitConfiguration
+
+
+
+
+
+
+```json
+{
+ "short_term_order_equity_tiers": [
+ {
+ "usd_tnc_required": "string",
+ "limit": 0
+ }
+ ],
+ "stateful_order_equity_tiers": [
+ {
+ "usd_tnc_required": "string",
+ "limit": 0
+ }
+ ]
+}
+
+```
+
+Defines the set of equity tiers to limit how many open orders
+a subaccount is allowed to have.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|short_term_order_equity_tiers|[object]|false|none|How many short term stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+|stateful_order_equity_tiers|[object]|false|none|How many open stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+
+## dydxprotocol.clob.FillablePriceConfig
+
+
+
+
+
+
+```json
+{
+ "bankruptcy_adjustment_ppm": 0,
+ "spread_to_maintenance_margin_ratio_ppm": 0
+}
+
+```
+
+FillablePriceConfig stores all configurable fields related to calculating
+the fillable price for liquidating a position.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|bankruptcy_adjustment_ppm|integer(int64)|false|none|The rate at which the Adjusted Bankruptcy Rating increases.|
+|spread_to_maintenance_margin_ratio_ppm|integer(int64)|false|none|The maximum value that the liquidation spread can take, as a ratio against the position's maintenance margin.|
+
+## dydxprotocol.clob.LiquidationsConfig
+
+
+
+
+
+
+```json
+{
+ "max_liquidation_fee_ppm": 0,
+ "position_block_limits": {
+ "min_position_notional_liquidated": "string",
+ "max_position_portion_liquidated_ppm": 0
+ },
+ "subaccount_block_limits": {
+ "max_notional_liquidated": "string",
+ "max_quantums_insurance_lost": "string"
+ },
+ "fillable_price_config": {
+ "bankruptcy_adjustment_ppm": 0,
+ "spread_to_maintenance_margin_ratio_ppm": 0
+ }
+}
+
+```
+
+LiquidationsConfig stores all configurable fields related to liquidations.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_liquidation_fee_ppm|integer(int64)|false|none|The maximum liquidation fee (in parts-per-million). This fee goes 100% to the insurance fund.|
+|position_block_limits|object|false|none|Limits around how much of a single position can be liquidated within a single block.|
+|» min_position_notional_liquidated|string(uint64)|false|none|The minimum amount of quantums to liquidate for each message (in quote quantums). Overridden by the maximum size of the position.|
+|» max_position_portion_liquidated_ppm|integer(int64)|false|none|The maximum portion of the position liquidated (in parts-per- million). Overridden by min_position_notional_liquidated.|
+|subaccount_block_limits|object|false|none|Limits around how many quote quantums from a single subaccount can be liquidated within a single block.|
+|» max_notional_liquidated|string(uint64)|false|none|The maximum notional amount that a single subaccount can have liquidated (in quote quantums) per block.|
+|» max_quantums_insurance_lost|string(uint64)|false|none|The maximum insurance-fund payout amount for a given subaccount per block. I.e. how much it can cover for that subaccount.|
+|fillable_price_config|object|false|none|Config about how the fillable-price spread from the oracle price increases based on the adjusted bankruptcy rating of the subaccount.|
+|» bankruptcy_adjustment_ppm|integer(int64)|false|none|The rate at which the Adjusted Bankruptcy Rating increases.|
+|» spread_to_maintenance_margin_ratio_ppm|integer(int64)|false|none|The maximum value that the liquidation spread can take, as a ratio against the position's maintenance margin.|
+
+## dydxprotocol.clob.MEVLiquidationMatch
+
+
+
+
+
+
+```json
+{
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+}
+
+```
+
+MEVLiquidationMatch represents all necessary data to calculate MEV for a
+liquidation.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|maker_order_subticks|string(uint64)|false|none|none|
+|maker_order_is_buy|boolean|false|none|none|
+|maker_fee_ppm|integer(int32)|false|none|none|
+|clob_pair_id|integer(int64)|false|none|none|
+|fill_amount|string(uint64)|false|none|none|
+
+## dydxprotocol.clob.MEVMatch
+
+
+
+
+
+
+```json
+{
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+}
+
+```
+
+MEVMatch represents all necessary data to calculate MEV for a regular match.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|taker_fee_ppm|integer(int32)|false|none|none|
+|maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|maker_order_subticks|string(uint64)|false|none|none|
+|maker_order_is_buy|boolean|false|none|none|
+|maker_fee_ppm|integer(int32)|false|none|none|
+|clob_pair_id|integer(int64)|false|none|none|
+|fill_amount|string(uint64)|false|none|none|
+
+## dydxprotocol.clob.MaxPerNBlocksRateLimit
+
+
+
+
+
+
+```json
+{
+ "num_blocks": 0,
+ "limit": 0
+}
+
+```
+
+Defines a rate limit over a specific number of blocks.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+
+## dydxprotocol.clob.MevNodeToNodeCalculationRequest
+
+
+
+
+
+
+```json
+{
+ "block_proposer_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "validator_mev_metrics": {
+ "validator_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "clob_mid_prices": [
+ {
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {},
+ "spot_clob_metadata": {},
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "["
+ },
+ "subticks": "string"
+ }
+ ],
+ "bp_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {},
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {},
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {},
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "proposal_receive_time": "string"
+ }
+}
+
+```
+
+MevNodeToNodeCalculationRequest is a request message used to run the
+MEV node <> node calculation.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_proposer_matches|object|false|none|Represents the matches on the "block proposer". Note that this field does not need to be the actual block proposer's matches for a block, since the MEV calculation logic is run with this nodes matches as the "block proposer" matches.|
+|» matches|[object]|false|none|none|
+|»» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» taker_fee_ppm|integer(int32)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|» liquidation_matches|[object]|false|none|none|
+|»» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|validator_mev_metrics|object|false|none|Represents the matches and mid-prices on the validator.|
+|» validator_mev_matches|object|false|none|ValidatorMevMatches contains all matches from the validator's local operations queue.|
+|»» matches|[object]|false|none|none|
+|»»» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» taker_fee_ppm|integer(int32)|false|none|none|
+|»»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» maker_order_subticks|string(uint64)|false|none|none|
+|»»» maker_order_is_buy|boolean|false|none|none|
+|»»» maker_fee_ppm|integer(int32)|false|none|none|
+|»»» clob_pair_id|integer(int64)|false|none|none|
+|»»» fill_amount|string(uint64)|false|none|none|
+|»» liquidation_matches|[object]|false|none|none|
+|»»» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|»»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» maker_order_subticks|string(uint64)|false|none|none|
+|»»» maker_order_is_buy|boolean|false|none|none|
+|»»» maker_fee_ppm|integer(int32)|false|none|none|
+|»»» clob_pair_id|integer(int64)|false|none|none|
+|»»» fill_amount|string(uint64)|false|none|none|
+|» clob_mid_prices|[object]|false|none|none|
+|»» clob_pair|object|false|none|ClobPair represents a single CLOB pair for a given product in state.|
+|»»» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|»»» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»»»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|»»» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»»»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»»»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|»»» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|»»» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|»»» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|»»» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+|»» subticks|string(uint64)|false|none|none|
+|» bp_mev_matches|object|false|none|ValidatorMevMatches contains all matches from the validator's local operations queue.|
+|»» matches|[object]|false|none|none|
+|»»» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» taker_fee_ppm|integer(int32)|false|none|none|
+|»»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» maker_order_subticks|string(uint64)|false|none|none|
+|»»» maker_order_is_buy|boolean|false|none|none|
+|»»» maker_fee_ppm|integer(int32)|false|none|none|
+|»»» clob_pair_id|integer(int64)|false|none|none|
+|»»» fill_amount|string(uint64)|false|none|none|
+|»» liquidation_matches|[object]|false|none|none|
+|»»» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|»»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»»» maker_order_subticks|string(uint64)|false|none|none|
+|»»» maker_order_is_buy|boolean|false|none|none|
+|»»» maker_fee_ppm|integer(int32)|false|none|none|
+|»»» clob_pair_id|integer(int64)|false|none|none|
+|»»» fill_amount|string(uint64)|false|none|none|
+|» proposal_receive_time|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.MevNodeToNodeCalculationResponse
+
+
+
+
+
+
+```json
+{
+ "results": [
+ {
+ "clob_pair_id": 0,
+ "mev": 0.1,
+ "volume": "string"
+ }
+ ]
+}
+
+```
+
+MevNodeToNodeCalculationResponse is a response message that contains the
+MEV node <> node calculation result.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|results|[object]|false|none|none|
+|» clob_pair_id|integer(int64)|false|none|none|
+|» mev|number(float)|false|none|none|
+|» volume|string(uint64)|false|none|none|
+
+## dydxprotocol.clob.MevNodeToNodeCalculationResponse.MevAndVolumePerClob
+
+
+
+
+
+
+```json
+{
+ "clob_pair_id": 0,
+ "mev": 0.1,
+ "volume": "string"
+}
+
+```
+
+MevAndVolumePerClob contains information about the MEV and volume per CLOB.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|clob_pair_id|integer(int64)|false|none|none|
+|mev|number(float)|false|none|none|
+|volume|string(uint64)|false|none|none|
+
+## dydxprotocol.clob.MevNodeToNodeMetrics
+
+
+
+
+
+
+```json
+{
+ "validator_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "clob_mid_prices": [
+ {
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {
+ "perpetual_id": 0
+ },
+ "spot_clob_metadata": {
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+ },
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "STATUS_UNSPECIFIED"
+ },
+ "subticks": "string"
+ }
+ ],
+ "bp_mev_matches": {
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+ },
+ "proposal_receive_time": "string"
+}
+
+```
+
+MevNodeToNodeMetrics is a data structure for encapsulating all MEV node <>
+node metrics.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validator_mev_matches|object|false|none|ValidatorMevMatches contains all matches from the validator's local operations queue.|
+|» matches|[object]|false|none|none|
+|»» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» taker_fee_ppm|integer(int32)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|» liquidation_matches|[object]|false|none|none|
+|»» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|clob_mid_prices|[object]|false|none|none|
+|» clob_pair|object|false|none|ClobPair represents a single CLOB pair for a given product in state.|
+|»» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|»» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|»» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|»» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|»» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|»» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|»» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+|» subticks|string(uint64)|false|none|none|
+|bp_mev_matches|object|false|none|ValidatorMevMatches contains all matches from the validator's local operations queue.|
+|» matches|[object]|false|none|none|
+|»» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» taker_fee_ppm|integer(int32)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|» liquidation_matches|[object]|false|none|none|
+|»» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|»» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|»» maker_order_subticks|string(uint64)|false|none|none|
+|»» maker_order_is_buy|boolean|false|none|none|
+|»» maker_fee_ppm|integer(int32)|false|none|none|
+|»» clob_pair_id|integer(int64)|false|none|none|
+|»» fill_amount|string(uint64)|false|none|none|
+|proposal_receive_time|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.PerpetualClobMetadata
+
+
+
+
+
+
+```json
+{
+ "perpetual_id": 0
+}
+
+```
+
+PerpetualClobMetadata contains metadata for a `ClobPair`
+representing a Perpetual product.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+
+## dydxprotocol.clob.PositionBlockLimits
+
+
+
+
+
+
+```json
+{
+ "min_position_notional_liquidated": "string",
+ "max_position_portion_liquidated_ppm": 0
+}
+
+```
+
+PositionBlockLimits stores all configurable fields related to limits
+around how much of a single position can be liquidated within a single block.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|min_position_notional_liquidated|string(uint64)|false|none|The minimum amount of quantums to liquidate for each message (in quote quantums). Overridden by the maximum size of the position.|
+|max_position_portion_liquidated_ppm|integer(int64)|false|none|The maximum portion of the position liquidated (in parts-per- million). Overridden by min_position_notional_liquidated.|
+
+## dydxprotocol.clob.QueryBlockRateLimitConfigurationResponse
+
+
+
+
+
+
+```json
+{
+ "block_rate_limit_config": {
+ "max_short_term_orders_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_stateful_orders_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_short_term_order_cancellations_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ],
+ "max_short_term_orders_and_cancels_per_n_blocks": [
+ {
+ "num_blocks": 0,
+ "limit": 0
+ }
+ ]
+ }
+}
+
+```
+
+QueryBlockRateLimitConfigurationResponse is a response message that contains
+the BlockRateLimitConfiguration.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_rate_limit_config|object|false|none|Defines the block rate limits for CLOB specific operations.|
+|» max_short_term_orders_per_n_blocks|[object]|false|none|How many short term order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|» max_stateful_orders_per_n_blocks|[object]|false|none|How many stateful order attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|» max_short_term_order_cancellations_per_n_blocks|[object]|false|none|How many short term order cancellation attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order cancellation must pass all rate limit configurations.
Specifying 0 values disables this rate limit. Deprecated in favor of `max_short_term_orders_and_cancels_per_n_blocks` for v5.x onwards.|
+|»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+|» max_short_term_orders_and_cancels_per_n_blocks|[object]|false|none|How many short term order place and cancel attempts (successful and failed) are allowed for an account per N blocks. Note that the rate limits are applied in an AND fashion such that an order placement must pass all rate limit configurations.
Specifying 0 values disables this rate limit.|
+|»» num_blocks|integer(int64)|false|none|How many blocks the rate limit is over. Specifying 0 is invalid.|
+|»» limit|integer(int64)|false|none|What the limit is for `num_blocks`. Specifying 0 is invalid.|
+
+## dydxprotocol.clob.QueryClobPairAllResponse
+
+
+
+
+
+
+```json
+{
+ "clob_pair": [
+ {
+ "id": 0,
+ "perpetual_clob_metadata": {
+ "perpetual_id": 0
+ },
+ "spot_clob_metadata": {
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+ },
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "STATUS_UNSPECIFIED"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryClobPairAllResponse is response type for the ClobPairAll method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|clob_pair|[object]|false|none|none|
+|» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.QueryClobPairResponse
+
+
+
+
+
+
+```json
+{
+ "clob_pair": {
+ "id": 0,
+ "perpetual_clob_metadata": {
+ "perpetual_id": 0
+ },
+ "spot_clob_metadata": {
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+ },
+ "step_base_quantums": "string",
+ "subticks_per_tick": 0,
+ "quantum_conversion_exponent": 0,
+ "status": "STATUS_UNSPECIFIED"
+ }
+}
+
+```
+
+QueryClobPairResponse is response type for the ClobPair method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|clob_pair|object|false|none|ClobPair represents a single CLOB pair for a given product in state.|
+|» id|integer(int64)|false|none|ID of the orderbook that stores all resting liquidity for this CLOB.|
+|» perpetual_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Perpetual product.|
+|»» perpetual_id|integer(int64)|false|none|Id of the Perpetual the CLOB allows trading of.|
+|» spot_clob_metadata|object|false|none|PerpetualClobMetadata contains metadata for a `ClobPair` representing a Spot product.|
+|»» base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|»» quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+|» step_base_quantums|string(uint64)|false|none|Minimum increment in the size of orders on the CLOB, in base quantums.|
+|» subticks_per_tick|integer(int64)|false|none|Defines the tick size of the orderbook by defining how many subticks are in one tick. That is, the subticks of any valid order must be a multiple of this value. Generally this value should start `>= 100`to allow room for decreasing it.|
+|» quantum_conversion_exponent|integer(int32)|false|none|`10^Exponent` gives the number of QuoteQuantums traded per BaseQuantum per Subtick.|
+|» status|string|false|none|Status of the CLOB.
- STATUS_UNSPECIFIED: Default value. This value is invalid and unused. - STATUS_ACTIVE: STATUS_ACTIVE represents an active clob pair. - STATUS_PAUSED: STATUS_PAUSED behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_CANCEL_ONLY: STATUS_CANCEL_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_POST_ONLY: STATUS_POST_ONLY behavior is unfinalized. TODO(DEC-600): update this documentation. - STATUS_INITIALIZING: STATUS_INITIALIZING represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only. - STATUS_FINAL_SETTLEMENT: STATUS_FINAL_SETTLEMENT represents a clob pair which is deactivated and trading has ceased. All open positions will be closed by the protocol. Open stateful orders will be cancelled. Open short-term orders will be left to expire.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|STATUS_UNSPECIFIED|
+|status|STATUS_ACTIVE|
+|status|STATUS_PAUSED|
+|status|STATUS_CANCEL_ONLY|
+|status|STATUS_POST_ONLY|
+|status|STATUS_INITIALIZING|
+|status|STATUS_FINAL_SETTLEMENT|
+
+## dydxprotocol.clob.QueryEquityTierLimitConfigurationResponse
+
+
+
+
+
+
+```json
+{
+ "equity_tier_limit_config": {
+ "short_term_order_equity_tiers": [
+ {
+ "usd_tnc_required": "string",
+ "limit": 0
+ }
+ ],
+ "stateful_order_equity_tiers": [
+ {
+ "usd_tnc_required": "string",
+ "limit": 0
+ }
+ ]
+ }
+}
+
+```
+
+QueryEquityTierLimitConfigurationResponse is a response message that contains
+the EquityTierLimitConfiguration.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|equity_tier_limit_config|object|false|none|Defines the set of equity tiers to limit how many open orders a subaccount is allowed to have.|
+|» short_term_order_equity_tiers|[object]|false|none|How many short term stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|»» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|»» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+|» stateful_order_equity_tiers|[object]|false|none|How many open stateful orders are allowed per equity tier. Specifying 0 values disables this limit.|
+|»» usd_tnc_required|string(byte)|false|none|The total net collateral in USDC quote quantums of equity required.|
+|»» limit|integer(int64)|false|none|What the limit is for `usd_tnc_required`.|
+
+## dydxprotocol.clob.QueryLiquidationsConfigurationResponse
+
+
+
+
+
+
+```json
+{
+ "liquidations_config": {
+ "max_liquidation_fee_ppm": 0,
+ "position_block_limits": {
+ "min_position_notional_liquidated": "string",
+ "max_position_portion_liquidated_ppm": 0
+ },
+ "subaccount_block_limits": {
+ "max_notional_liquidated": "string",
+ "max_quantums_insurance_lost": "string"
+ },
+ "fillable_price_config": {
+ "bankruptcy_adjustment_ppm": 0,
+ "spread_to_maintenance_margin_ratio_ppm": 0
+ }
+ }
+}
+
+```
+
+QueryLiquidationsConfigurationResponse is a response message that contains
+the LiquidationsConfiguration.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|liquidations_config|object|false|none|LiquidationsConfig stores all configurable fields related to liquidations.|
+|» max_liquidation_fee_ppm|integer(int64)|false|none|The maximum liquidation fee (in parts-per-million). This fee goes 100% to the insurance fund.|
+|» position_block_limits|object|false|none|Limits around how much of a single position can be liquidated within a single block.|
+|»» min_position_notional_liquidated|string(uint64)|false|none|The minimum amount of quantums to liquidate for each message (in quote quantums). Overridden by the maximum size of the position.|
+|»» max_position_portion_liquidated_ppm|integer(int64)|false|none|The maximum portion of the position liquidated (in parts-per- million). Overridden by min_position_notional_liquidated.|
+|» subaccount_block_limits|object|false|none|Limits around how many quote quantums from a single subaccount can be liquidated within a single block.|
+|»» max_notional_liquidated|string(uint64)|false|none|The maximum notional amount that a single subaccount can have liquidated (in quote quantums) per block.|
+|»» max_quantums_insurance_lost|string(uint64)|false|none|The maximum insurance-fund payout amount for a given subaccount per block. I.e. how much it can cover for that subaccount.|
+|» fillable_price_config|object|false|none|Config about how the fillable-price spread from the oracle price increases based on the adjusted bankruptcy rating of the subaccount.|
+|»» bankruptcy_adjustment_ppm|integer(int64)|false|none|The rate at which the Adjusted Bankruptcy Rating increases.|
+|»» spread_to_maintenance_margin_ratio_ppm|integer(int64)|false|none|The maximum value that the liquidation spread can take, as a ratio against the position's maintenance margin.|
+
+## dydxprotocol.clob.SpotClobMetadata
+
+
+
+
+
+
+```json
+{
+ "base_asset_id": 0,
+ "quote_asset_id": 0
+}
+
+```
+
+PerpetualClobMetadata contains metadata for a `ClobPair`
+representing a Spot product.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|base_asset_id|integer(int64)|false|none|Id of the base Asset in the trading pair.|
+|quote_asset_id|integer(int64)|false|none|Id of the quote Asset in the trading pair.|
+
+## dydxprotocol.clob.StreamOrderbookUpdatesResponse
+
+
+
+
+
+
+```json
+{
+ "updates": [
+ {
+ "order_place": {
+ "order": {
+ "order_id": {},
+ "side": "[",
+ "quantums": "string",
+ "subticks": "string",
+ "good_til_block": 0,
+ "good_til_block_time": 0,
+ "time_in_force": "[",
+ "reduce_only": true,
+ "client_metadata": 0,
+ "condition_type": "[",
+ "conditional_order_trigger_subticks": "string"
+ },
+ "placement_status": "ORDER_PLACEMENT_STATUS_UNSPECIFIED"
+ },
+ "order_remove": {
+ "removed_order_id": {
+ "subaccount_id": {},
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "reason": "ORDER_REMOVAL_REASON_UNSPECIFIED",
+ "removal_status": "ORDER_REMOVAL_STATUS_UNSPECIFIED"
+ },
+ "order_update": {
+ "order_id": {
+ "subaccount_id": {},
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "total_filled_quantums": "string"
+ }
+ }
+ ],
+ "snapshot": true,
+ "block_height": 0,
+ "exec_mode": 0
+}
+
+```
+
+StreamOrderbookUpdatesResponse is a response message for the
+StreamOrderbookUpdates method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|updates|[object]|false|none|Orderbook updates for the clob pair.|
+|» order_place|object|false|none|OrderPlace messages contain the order placed/replaced.|
+|»» order|object|false|none|IndexerOrderV1 represents a single order belonging to a `Subaccount` for a particular `ClobPair`.|
+|»»» order_id|object|false|none|The unique ID of this order. Meant to be unique across all orders.|
+|»»»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»»»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»»»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»»»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|»»» side|string|false|none|Represents the side of the orderbook the order will be placed on. Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be placed on the orderbook.
- SIDE_UNSPECIFIED: Default value. This value is invalid and unused. - SIDE_BUY: SIDE_BUY is used to represent a BUY order. - SIDE_SELL: SIDE_SELL is used to represent a SELL order.|
+|»»» quantums|string(uint64)|false|none|The size of this order in base quantums. Must be a multiple of `ClobPair.StepBaseQuantums` (where `ClobPair.Id = orderId.ClobPairId`).|
+|»»» subticks|string(uint64)|false|none|The price level that this order will be placed at on the orderbook, in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|»»» good_til_block|integer(int64)|false|none|The last block this order can be executed at (after which it will be unfillable). Used only for Short-Term orders. If this value is non-zero then the order is assumed to be a Short-Term order.|
+|»»» good_til_block_time|integer(int64)|false|none|good_til_block_time represents the unix timestamp (in seconds) at which a stateful order will be considered expired. The good_til_block_time is always evaluated against the previous block's `BlockTime` instead of the block in which the order is committed. If this value is non-zero then the order is assumed to be a stateful or conditional order.|
+|»»» time_in_force|string|false|none|The time in force of this order.|
+|»»» reduce_only|boolean|false|none|Enforces that the order can only reduce the size of an existing position. If a ReduceOnly order would change the side of the existing position, its size is reduced to that of the remaining size of the position. If existing orders on the book with ReduceOnly would already close the position, the least aggressive (out-of-the-money) ReduceOnly orders are resized and canceled first.|
+|»»» client_metadata|integer(int64)|false|none|Set of bit flags set arbitrarily by clients and ignored by the protocol. Used by indexer to infer information about a placed order.|
+|»»» condition_type|string|false|none|- CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an order will be placed immediately on the orderbook. - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will trigger when the oracle price moves at or above the trigger price for buys, and at or below the trigger price for sells. - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit order will trigger when the oracle price moves at or below the trigger price for buys and at or above the trigger price for sells.|
+|»»» conditional_order_trigger_subticks|string(uint64)|false|none|conditional_order_trigger_subticks represents the price at which this order will be triggered. If the condition_type is CONDITION_TYPE_UNSPECIFIED, this value is enforced to be 0. If this value is nonzero, condition_type cannot be CONDITION_TYPE_UNSPECIFIED. Value is in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|»» placement_status|string|false|none|OrderPlacementStatus is an enum for the resulting status after an order is placed.
- ORDER_PLACEMENT_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED: A best effort opened order is one that has only been confirmed to be placed on the dYdX node sending the off-chain update message. The cases where this happens includes: - The dYdX node places an order in it's in-memory orderbook during the CheckTx flow. A best effort placed order may not have been placed on other dYdX nodes including other dYdX validator nodes and may still be excluded in future order matches. - ORDER_PLACEMENT_STATUS_OPENED: An opened order is one that is confirmed to be placed on all dYdX nodes (discounting dishonest dYdX nodes) and will be included in any future order matches. This status is used internally by the indexer and will not be sent out by protocol.|
+|» order_remove|object|false|none|OrderRemove messages contain the id of the order removed, the reason for the removal and the resulting status from the removal.|
+|»» removed_order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|»»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|»» reason|string|false|none|OrderRemovalReason is an enum of all the reasons an order was removed.
- ORDER_REMOVAL_REASON_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_REASON_EXPIRED: The order was removed due to being expired. - ORDER_REMOVAL_REASON_USER_CANCELED: The order was removed due to being canceled by a user. - ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED: The order was removed due to being undercollateralized. - ORDER_REMOVAL_REASON_INTERNAL_ERROR: The order caused an internal error during order placement and was removed. - ORDER_REMOVAL_REASON_SELF_TRADE_ERROR: The order would have matched against another order placed by the same subaccount and was removed. - ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER: The order would have matched against maker orders on the orderbook despite being a post-only order and was removed. - ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK: The order was an ICO order and would have been placed on the orderbook as resting liquidity and was removed. - ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED: The order was a fill-or-kill order that could not be fully filled and was removed. - ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE: The order was a reduce-only order that was removed due to either: - being a taker order and fully-filling the order would flip the side of the subaccount's position, in this case the remaining size of the order is removed - being a maker order resting on the book and being removed when either the subaccount's position is closed or flipped sides - ORDER_REMOVAL_REASON_INDEXER_EXPIRED: The order should be expired, according to the Indexer's cached data, but the Indexer has yet to receive a message to remove the order. In order to keep the data cached by the Indexer up-to-date and accurate, clear out the data if it's expired by sending an order removal with this reason. Protocol should never send this reason to Indexer. - ORDER_REMOVAL_REASON_REPLACED: The order has been replaced. - ORDER_REMOVAL_REASON_FULLY_FILLED: The order has been fully-filled. Only sent by the Indexer for stateful orders. - ORDER_REMOVAL_REASON_EQUITY_TIER: The order has been removed since the subaccount does not satisfy the equity tier requirements. - ORDER_REMOVAL_REASON_FINAL_SETTLEMENT: The order has been removed since its ClobPair has entered final settlement.|
+|»» removal_status|string|false|none|OrderRemovalStatus is an enum for the resulting status after an order is removed.
- ORDER_REMOVAL_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED: A best effort canceled order is one that has only been confirmed to be removed on the dYdX node sending the off-chain update message. The cases where this happens includes: - the order was removed due to the dYdX node receiving a CancelOrder transaction for the order. - the order was removed due to being undercollateralized during optimistic matching. A best effort canceled order may not have been removed on other dYdX nodes including other dYdX validator nodes and may still be included in future order matches. - ORDER_REMOVAL_STATUS_CANCELED: A canceled order is one that is confirmed to be removed on all dYdX nodes (discounting dishonest dYdX nodes) and will not be included in any future order matches. The cases where this happens includes: - the order is expired. - ORDER_REMOVAL_STATUS_FILLED: An order was fully-filled. Only sent by the Indexer for stateful orders.|
+|» order_update|object|false|none|OrderUpdate messages contain the id of the order being updated, and the updated total filled quantums of the order.|
+|»» order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|»»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|»» total_filled_quantums|string(uint64)|false|none|none|
+|snapshot|boolean|false|none|Snapshot indicates if the response is from a snapshot of the orderbook. This is true for the initial response and false for all subsequent updates. Note that if the snapshot is true, then all previous entries should be discarded and the orderbook should be resynced.|
+|block_height|integer(int64)|false|none|---Additional fields used to debug issues--- Block height of the updates.|
+|exec_mode|integer(int64)|false|none|Exec mode of the updates.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|side|SIDE_UNSPECIFIED|
+|side|SIDE_BUY|
+|side|SIDE_SELL|
+|time_in_force|TIME_IN_FORCE_UNSPECIFIED|
+|time_in_force|TIME_IN_FORCE_IOC|
+|time_in_force|TIME_IN_FORCE_POST_ONLY|
+|time_in_force|TIME_IN_FORCE_FILL_OR_KILL|
+|condition_type|CONDITION_TYPE_UNSPECIFIED|
+|condition_type|CONDITION_TYPE_STOP_LOSS|
+|condition_type|CONDITION_TYPE_TAKE_PROFIT|
+|placement_status|ORDER_PLACEMENT_STATUS_UNSPECIFIED|
+|placement_status|ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED|
+|placement_status|ORDER_PLACEMENT_STATUS_OPENED|
+|reason|ORDER_REMOVAL_REASON_UNSPECIFIED|
+|reason|ORDER_REMOVAL_REASON_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_USER_CANCELED|
+|reason|ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED|
+|reason|ORDER_REMOVAL_REASON_INTERNAL_ERROR|
+|reason|ORDER_REMOVAL_REASON_SELF_TRADE_ERROR|
+|reason|ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER|
+|reason|ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK|
+|reason|ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED|
+|reason|ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE|
+|reason|ORDER_REMOVAL_REASON_INDEXER_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_REPLACED|
+|reason|ORDER_REMOVAL_REASON_FULLY_FILLED|
+|reason|ORDER_REMOVAL_REASON_EQUITY_TIER|
+|reason|ORDER_REMOVAL_REASON_FINAL_SETTLEMENT|
+|removal_status|ORDER_REMOVAL_STATUS_UNSPECIFIED|
+|removal_status|ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_FILLED|
+
+## dydxprotocol.clob.SubaccountBlockLimits
+
+
+
+
+
+
+```json
+{
+ "max_notional_liquidated": "string",
+ "max_quantums_insurance_lost": "string"
+}
+
+```
+
+SubaccountBlockLimits stores all configurable fields related to limits
+around how many quote quantums from a single subaccount can
+be liquidated within a single block.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_notional_liquidated|string(uint64)|false|none|The maximum notional amount that a single subaccount can have liquidated (in quote quantums) per block.|
+|max_quantums_insurance_lost|string(uint64)|false|none|The maximum insurance-fund payout amount for a given subaccount per block. I.e. how much it can cover for that subaccount.|
+
+## dydxprotocol.clob.ValidatorMevMatches
+
+
+
+
+
+
+```json
+{
+ "matches": [
+ {
+ "taker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "taker_fee_ppm": 0,
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ],
+ "liquidation_matches": [
+ {
+ "liquidated_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "insurance_fund_delta_quote_quantums": "string",
+ "maker_order_subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "maker_order_subticks": "string",
+ "maker_order_is_buy": true,
+ "maker_fee_ppm": 0,
+ "clob_pair_id": 0,
+ "fill_amount": "string"
+ }
+ ]
+}
+
+```
+
+ValidatorMevMatches contains all matches from the validator's local
+operations queue.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|matches|[object]|false|none|none|
+|» taker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» taker_fee_ppm|integer(int32)|false|none|none|
+|» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» maker_order_subticks|string(uint64)|false|none|none|
+|» maker_order_is_buy|boolean|false|none|none|
+|» maker_fee_ppm|integer(int32)|false|none|none|
+|» clob_pair_id|integer(int64)|false|none|none|
+|» fill_amount|string(uint64)|false|none|none|
+|liquidation_matches|[object]|false|none|none|
+|» liquidated_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» insurance_fund_delta_quote_quantums|string(int64)|false|none|none|
+|» maker_order_subaccount_id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» maker_order_subticks|string(uint64)|false|none|none|
+|» maker_order_is_buy|boolean|false|none|none|
+|» maker_fee_ppm|integer(int32)|false|none|none|
+|» clob_pair_id|integer(int64)|false|none|none|
+|» fill_amount|string(uint64)|false|none|none|
+
+## dydxprotocol.indexer.off_chain_updates.OffChainUpdateV1
+
+
+
+
+
+
+```json
+{
+ "order_place": {
+ "order": {
+ "order_id": {
+ "subaccount_id": {
+ "owner": null,
+ "number": null
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "side": "SIDE_UNSPECIFIED",
+ "quantums": "string",
+ "subticks": "string",
+ "good_til_block": 0,
+ "good_til_block_time": 0,
+ "time_in_force": "TIME_IN_FORCE_UNSPECIFIED",
+ "reduce_only": true,
+ "client_metadata": 0,
+ "condition_type": "CONDITION_TYPE_UNSPECIFIED",
+ "conditional_order_trigger_subticks": "string"
+ },
+ "placement_status": "ORDER_PLACEMENT_STATUS_UNSPECIFIED"
+ },
+ "order_remove": {
+ "removed_order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "reason": "ORDER_REMOVAL_REASON_UNSPECIFIED",
+ "removal_status": "ORDER_REMOVAL_STATUS_UNSPECIFIED"
+ },
+ "order_update": {
+ "order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "total_filled_quantums": "string"
+ }
+}
+
+```
+
+An OffChainUpdate message is the message type which will be sent on Kafka to
+the Indexer.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|order_place|object|false|none|OrderPlace messages contain the order placed/replaced.|
+|» order|object|false|none|IndexerOrderV1 represents a single order belonging to a `Subaccount` for a particular `ClobPair`.|
+|»» order_id|object|false|none|The unique ID of this order. Meant to be unique across all orders.|
+|»»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|»» side|string|false|none|Represents the side of the orderbook the order will be placed on. Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be placed on the orderbook.
- SIDE_UNSPECIFIED: Default value. This value is invalid and unused. - SIDE_BUY: SIDE_BUY is used to represent a BUY order. - SIDE_SELL: SIDE_SELL is used to represent a SELL order.|
+|»» quantums|string(uint64)|false|none|The size of this order in base quantums. Must be a multiple of `ClobPair.StepBaseQuantums` (where `ClobPair.Id = orderId.ClobPairId`).|
+|»» subticks|string(uint64)|false|none|The price level that this order will be placed at on the orderbook, in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|»» good_til_block|integer(int64)|false|none|The last block this order can be executed at (after which it will be unfillable). Used only for Short-Term orders. If this value is non-zero then the order is assumed to be a Short-Term order.|
+|»» good_til_block_time|integer(int64)|false|none|good_til_block_time represents the unix timestamp (in seconds) at which a stateful order will be considered expired. The good_til_block_time is always evaluated against the previous block's `BlockTime` instead of the block in which the order is committed. If this value is non-zero then the order is assumed to be a stateful or conditional order.|
+|»» time_in_force|string|false|none|The time in force of this order.|
+|»» reduce_only|boolean|false|none|Enforces that the order can only reduce the size of an existing position. If a ReduceOnly order would change the side of the existing position, its size is reduced to that of the remaining size of the position. If existing orders on the book with ReduceOnly would already close the position, the least aggressive (out-of-the-money) ReduceOnly orders are resized and canceled first.|
+|»» client_metadata|integer(int64)|false|none|Set of bit flags set arbitrarily by clients and ignored by the protocol. Used by indexer to infer information about a placed order.|
+|»» condition_type|string|false|none|- CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an order will be placed immediately on the orderbook. - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will trigger when the oracle price moves at or above the trigger price for buys, and at or below the trigger price for sells. - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit order will trigger when the oracle price moves at or below the trigger price for buys and at or above the trigger price for sells.|
+|»» conditional_order_trigger_subticks|string(uint64)|false|none|conditional_order_trigger_subticks represents the price at which this order will be triggered. If the condition_type is CONDITION_TYPE_UNSPECIFIED, this value is enforced to be 0. If this value is nonzero, condition_type cannot be CONDITION_TYPE_UNSPECIFIED. Value is in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|» placement_status|string|false|none|OrderPlacementStatus is an enum for the resulting status after an order is placed.
- ORDER_PLACEMENT_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED: A best effort opened order is one that has only been confirmed to be placed on the dYdX node sending the off-chain update message. The cases where this happens includes: - The dYdX node places an order in it's in-memory orderbook during the CheckTx flow. A best effort placed order may not have been placed on other dYdX nodes including other dYdX validator nodes and may still be excluded in future order matches. - ORDER_PLACEMENT_STATUS_OPENED: An opened order is one that is confirmed to be placed on all dYdX nodes (discounting dishonest dYdX nodes) and will be included in any future order matches. This status is used internally by the indexer and will not be sent out by protocol.|
+|order_remove|object|false|none|OrderRemove messages contain the id of the order removed, the reason for the removal and the resulting status from the removal.|
+|» removed_order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|» reason|string|false|none|OrderRemovalReason is an enum of all the reasons an order was removed.
- ORDER_REMOVAL_REASON_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_REASON_EXPIRED: The order was removed due to being expired. - ORDER_REMOVAL_REASON_USER_CANCELED: The order was removed due to being canceled by a user. - ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED: The order was removed due to being undercollateralized. - ORDER_REMOVAL_REASON_INTERNAL_ERROR: The order caused an internal error during order placement and was removed. - ORDER_REMOVAL_REASON_SELF_TRADE_ERROR: The order would have matched against another order placed by the same subaccount and was removed. - ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER: The order would have matched against maker orders on the orderbook despite being a post-only order and was removed. - ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK: The order was an ICO order and would have been placed on the orderbook as resting liquidity and was removed. - ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED: The order was a fill-or-kill order that could not be fully filled and was removed. - ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE: The order was a reduce-only order that was removed due to either: - being a taker order and fully-filling the order would flip the side of the subaccount's position, in this case the remaining size of the order is removed - being a maker order resting on the book and being removed when either the subaccount's position is closed or flipped sides - ORDER_REMOVAL_REASON_INDEXER_EXPIRED: The order should be expired, according to the Indexer's cached data, but the Indexer has yet to receive a message to remove the order. In order to keep the data cached by the Indexer up-to-date and accurate, clear out the data if it's expired by sending an order removal with this reason. Protocol should never send this reason to Indexer. - ORDER_REMOVAL_REASON_REPLACED: The order has been replaced. - ORDER_REMOVAL_REASON_FULLY_FILLED: The order has been fully-filled. Only sent by the Indexer for stateful orders. - ORDER_REMOVAL_REASON_EQUITY_TIER: The order has been removed since the subaccount does not satisfy the equity tier requirements. - ORDER_REMOVAL_REASON_FINAL_SETTLEMENT: The order has been removed since its ClobPair has entered final settlement.|
+|» removal_status|string|false|none|OrderRemovalStatus is an enum for the resulting status after an order is removed.
- ORDER_REMOVAL_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED: A best effort canceled order is one that has only been confirmed to be removed on the dYdX node sending the off-chain update message. The cases where this happens includes: - the order was removed due to the dYdX node receiving a CancelOrder transaction for the order. - the order was removed due to being undercollateralized during optimistic matching. A best effort canceled order may not have been removed on other dYdX nodes including other dYdX validator nodes and may still be included in future order matches. - ORDER_REMOVAL_STATUS_CANCELED: A canceled order is one that is confirmed to be removed on all dYdX nodes (discounting dishonest dYdX nodes) and will not be included in any future order matches. The cases where this happens includes: - the order is expired. - ORDER_REMOVAL_STATUS_FILLED: An order was fully-filled. Only sent by the Indexer for stateful orders.|
+|order_update|object|false|none|OrderUpdate messages contain the id of the order being updated, and the updated total filled quantums of the order.|
+|» order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|» total_filled_quantums|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|side|SIDE_UNSPECIFIED|
+|side|SIDE_BUY|
+|side|SIDE_SELL|
+|time_in_force|TIME_IN_FORCE_UNSPECIFIED|
+|time_in_force|TIME_IN_FORCE_IOC|
+|time_in_force|TIME_IN_FORCE_POST_ONLY|
+|time_in_force|TIME_IN_FORCE_FILL_OR_KILL|
+|condition_type|CONDITION_TYPE_UNSPECIFIED|
+|condition_type|CONDITION_TYPE_STOP_LOSS|
+|condition_type|CONDITION_TYPE_TAKE_PROFIT|
+|placement_status|ORDER_PLACEMENT_STATUS_UNSPECIFIED|
+|placement_status|ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED|
+|placement_status|ORDER_PLACEMENT_STATUS_OPENED|
+|reason|ORDER_REMOVAL_REASON_UNSPECIFIED|
+|reason|ORDER_REMOVAL_REASON_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_USER_CANCELED|
+|reason|ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED|
+|reason|ORDER_REMOVAL_REASON_INTERNAL_ERROR|
+|reason|ORDER_REMOVAL_REASON_SELF_TRADE_ERROR|
+|reason|ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER|
+|reason|ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK|
+|reason|ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED|
+|reason|ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE|
+|reason|ORDER_REMOVAL_REASON_INDEXER_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_REPLACED|
+|reason|ORDER_REMOVAL_REASON_FULLY_FILLED|
+|reason|ORDER_REMOVAL_REASON_EQUITY_TIER|
+|reason|ORDER_REMOVAL_REASON_FINAL_SETTLEMENT|
+|removal_status|ORDER_REMOVAL_STATUS_UNSPECIFIED|
+|removal_status|ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_FILLED|
+
+## dydxprotocol.indexer.off_chain_updates.OrderPlaceV1
+
+
+
+
+
+
+```json
+{
+ "order": {
+ "order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "side": "SIDE_UNSPECIFIED",
+ "quantums": "string",
+ "subticks": "string",
+ "good_til_block": 0,
+ "good_til_block_time": 0,
+ "time_in_force": "TIME_IN_FORCE_UNSPECIFIED",
+ "reduce_only": true,
+ "client_metadata": 0,
+ "condition_type": "CONDITION_TYPE_UNSPECIFIED",
+ "conditional_order_trigger_subticks": "string"
+ },
+ "placement_status": "ORDER_PLACEMENT_STATUS_UNSPECIFIED"
+}
+
+```
+
+OrderPlace messages contain the order placed/replaced.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|order|object|false|none|IndexerOrderV1 represents a single order belonging to a `Subaccount` for a particular `ClobPair`.|
+|» order_id|object|false|none|The unique ID of this order. Meant to be unique across all orders.|
+|»» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|»» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|»» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|»» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|» side|string|false|none|Represents the side of the orderbook the order will be placed on. Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be placed on the orderbook.
- SIDE_UNSPECIFIED: Default value. This value is invalid and unused. - SIDE_BUY: SIDE_BUY is used to represent a BUY order. - SIDE_SELL: SIDE_SELL is used to represent a SELL order.|
+|» quantums|string(uint64)|false|none|The size of this order in base quantums. Must be a multiple of `ClobPair.StepBaseQuantums` (where `ClobPair.Id = orderId.ClobPairId`).|
+|» subticks|string(uint64)|false|none|The price level that this order will be placed at on the orderbook, in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|» good_til_block|integer(int64)|false|none|The last block this order can be executed at (after which it will be unfillable). Used only for Short-Term orders. If this value is non-zero then the order is assumed to be a Short-Term order.|
+|» good_til_block_time|integer(int64)|false|none|good_til_block_time represents the unix timestamp (in seconds) at which a stateful order will be considered expired. The good_til_block_time is always evaluated against the previous block's `BlockTime` instead of the block in which the order is committed. If this value is non-zero then the order is assumed to be a stateful or conditional order.|
+|» time_in_force|string|false|none|The time in force of this order.|
+|» reduce_only|boolean|false|none|Enforces that the order can only reduce the size of an existing position. If a ReduceOnly order would change the side of the existing position, its size is reduced to that of the remaining size of the position. If existing orders on the book with ReduceOnly would already close the position, the least aggressive (out-of-the-money) ReduceOnly orders are resized and canceled first.|
+|» client_metadata|integer(int64)|false|none|Set of bit flags set arbitrarily by clients and ignored by the protocol. Used by indexer to infer information about a placed order.|
+|» condition_type|string|false|none|- CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an order will be placed immediately on the orderbook. - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will trigger when the oracle price moves at or above the trigger price for buys, and at or below the trigger price for sells. - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit order will trigger when the oracle price moves at or below the trigger price for buys and at or above the trigger price for sells.|
+|» conditional_order_trigger_subticks|string(uint64)|false|none|conditional_order_trigger_subticks represents the price at which this order will be triggered. If the condition_type is CONDITION_TYPE_UNSPECIFIED, this value is enforced to be 0. If this value is nonzero, condition_type cannot be CONDITION_TYPE_UNSPECIFIED. Value is in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|placement_status|string|false|none|OrderPlacementStatus is an enum for the resulting status after an order is placed.
- ORDER_PLACEMENT_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED: A best effort opened order is one that has only been confirmed to be placed on the dYdX node sending the off-chain update message. The cases where this happens includes: - The dYdX node places an order in it's in-memory orderbook during the CheckTx flow. A best effort placed order may not have been placed on other dYdX nodes including other dYdX validator nodes and may still be excluded in future order matches. - ORDER_PLACEMENT_STATUS_OPENED: An opened order is one that is confirmed to be placed on all dYdX nodes (discounting dishonest dYdX nodes) and will be included in any future order matches. This status is used internally by the indexer and will not be sent out by protocol.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|side|SIDE_UNSPECIFIED|
+|side|SIDE_BUY|
+|side|SIDE_SELL|
+|time_in_force|TIME_IN_FORCE_UNSPECIFIED|
+|time_in_force|TIME_IN_FORCE_IOC|
+|time_in_force|TIME_IN_FORCE_POST_ONLY|
+|time_in_force|TIME_IN_FORCE_FILL_OR_KILL|
+|condition_type|CONDITION_TYPE_UNSPECIFIED|
+|condition_type|CONDITION_TYPE_STOP_LOSS|
+|condition_type|CONDITION_TYPE_TAKE_PROFIT|
+|placement_status|ORDER_PLACEMENT_STATUS_UNSPECIFIED|
+|placement_status|ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED|
+|placement_status|ORDER_PLACEMENT_STATUS_OPENED|
+
+## dydxprotocol.indexer.off_chain_updates.OrderPlaceV1.OrderPlacementStatus
+
+
+
+
+
+
+```json
+"ORDER_PLACEMENT_STATUS_UNSPECIFIED"
+
+```
+
+OrderPlacementStatus is an enum for the resulting status after an order is
+placed.
+
+ - ORDER_PLACEMENT_STATUS_UNSPECIFIED: Default value, this is invalid and unused.
+ - ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED: A best effort opened order is one that has only been confirmed to be
+placed on the dYdX node sending the off-chain update message.
+The cases where this happens includes:
+- The dYdX node places an order in it's in-memory orderbook during the
+ CheckTx flow.
+A best effort placed order may not have been placed on other dYdX
+nodes including other dYdX validator nodes and may still be excluded in
+future order matches.
+ - ORDER_PLACEMENT_STATUS_OPENED: An opened order is one that is confirmed to be placed on all dYdX nodes
+(discounting dishonest dYdX nodes) and will be included in any future
+order matches.
+This status is used internally by the indexer and will not be sent
+out by protocol.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|OrderPlacementStatus is an enum for the resulting status after an order is placed.
- ORDER_PLACEMENT_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED: A best effort opened order is one that has only been confirmed to be placed on the dYdX node sending the off-chain update message. The cases where this happens includes: - The dYdX node places an order in it's in-memory orderbook during the CheckTx flow. A best effort placed order may not have been placed on other dYdX nodes including other dYdX validator nodes and may still be excluded in future order matches. - ORDER_PLACEMENT_STATUS_OPENED: An opened order is one that is confirmed to be placed on all dYdX nodes (discounting dishonest dYdX nodes) and will be included in any future order matches. This status is used internally by the indexer and will not be sent out by protocol.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|ORDER_PLACEMENT_STATUS_UNSPECIFIED|
+|*anonymous*|ORDER_PLACEMENT_STATUS_BEST_EFFORT_OPENED|
+|*anonymous*|ORDER_PLACEMENT_STATUS_OPENED|
+
+## dydxprotocol.indexer.off_chain_updates.OrderRemoveV1
+
+
+
+
+
+
+```json
+{
+ "removed_order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "reason": "ORDER_REMOVAL_REASON_UNSPECIFIED",
+ "removal_status": "ORDER_REMOVAL_STATUS_UNSPECIFIED"
+}
+
+```
+
+OrderRemove messages contain the id of the order removed, the reason for the
+removal and the resulting status from the removal.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|removed_order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|reason|string|false|none|OrderRemovalReason is an enum of all the reasons an order was removed.
- ORDER_REMOVAL_REASON_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_REASON_EXPIRED: The order was removed due to being expired. - ORDER_REMOVAL_REASON_USER_CANCELED: The order was removed due to being canceled by a user. - ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED: The order was removed due to being undercollateralized. - ORDER_REMOVAL_REASON_INTERNAL_ERROR: The order caused an internal error during order placement and was removed. - ORDER_REMOVAL_REASON_SELF_TRADE_ERROR: The order would have matched against another order placed by the same subaccount and was removed. - ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER: The order would have matched against maker orders on the orderbook despite being a post-only order and was removed. - ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK: The order was an ICO order and would have been placed on the orderbook as resting liquidity and was removed. - ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED: The order was a fill-or-kill order that could not be fully filled and was removed. - ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE: The order was a reduce-only order that was removed due to either: - being a taker order and fully-filling the order would flip the side of the subaccount's position, in this case the remaining size of the order is removed - being a maker order resting on the book and being removed when either the subaccount's position is closed or flipped sides - ORDER_REMOVAL_REASON_INDEXER_EXPIRED: The order should be expired, according to the Indexer's cached data, but the Indexer has yet to receive a message to remove the order. In order to keep the data cached by the Indexer up-to-date and accurate, clear out the data if it's expired by sending an order removal with this reason. Protocol should never send this reason to Indexer. - ORDER_REMOVAL_REASON_REPLACED: The order has been replaced. - ORDER_REMOVAL_REASON_FULLY_FILLED: The order has been fully-filled. Only sent by the Indexer for stateful orders. - ORDER_REMOVAL_REASON_EQUITY_TIER: The order has been removed since the subaccount does not satisfy the equity tier requirements. - ORDER_REMOVAL_REASON_FINAL_SETTLEMENT: The order has been removed since its ClobPair has entered final settlement.|
+|removal_status|string|false|none|OrderRemovalStatus is an enum for the resulting status after an order is removed.
- ORDER_REMOVAL_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED: A best effort canceled order is one that has only been confirmed to be removed on the dYdX node sending the off-chain update message. The cases where this happens includes: - the order was removed due to the dYdX node receiving a CancelOrder transaction for the order. - the order was removed due to being undercollateralized during optimistic matching. A best effort canceled order may not have been removed on other dYdX nodes including other dYdX validator nodes and may still be included in future order matches. - ORDER_REMOVAL_STATUS_CANCELED: A canceled order is one that is confirmed to be removed on all dYdX nodes (discounting dishonest dYdX nodes) and will not be included in any future order matches. The cases where this happens includes: - the order is expired. - ORDER_REMOVAL_STATUS_FILLED: An order was fully-filled. Only sent by the Indexer for stateful orders.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|reason|ORDER_REMOVAL_REASON_UNSPECIFIED|
+|reason|ORDER_REMOVAL_REASON_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_USER_CANCELED|
+|reason|ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED|
+|reason|ORDER_REMOVAL_REASON_INTERNAL_ERROR|
+|reason|ORDER_REMOVAL_REASON_SELF_TRADE_ERROR|
+|reason|ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER|
+|reason|ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK|
+|reason|ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED|
+|reason|ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE|
+|reason|ORDER_REMOVAL_REASON_INDEXER_EXPIRED|
+|reason|ORDER_REMOVAL_REASON_REPLACED|
+|reason|ORDER_REMOVAL_REASON_FULLY_FILLED|
+|reason|ORDER_REMOVAL_REASON_EQUITY_TIER|
+|reason|ORDER_REMOVAL_REASON_FINAL_SETTLEMENT|
+|removal_status|ORDER_REMOVAL_STATUS_UNSPECIFIED|
+|removal_status|ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_CANCELED|
+|removal_status|ORDER_REMOVAL_STATUS_FILLED|
+
+## dydxprotocol.indexer.off_chain_updates.OrderRemoveV1.OrderRemovalStatus
+
+
+
+
+
+
+```json
+"ORDER_REMOVAL_STATUS_UNSPECIFIED"
+
+```
+
+OrderRemovalStatus is an enum for the resulting status after an order is
+removed.
+
+ - ORDER_REMOVAL_STATUS_UNSPECIFIED: Default value, this is invalid and unused.
+ - ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED: A best effort canceled order is one that has only been confirmed to be
+removed on the dYdX node sending the off-chain update message.
+The cases where this happens includes:
+- the order was removed due to the dYdX node receiving a CancelOrder
+ transaction for the order.
+- the order was removed due to being undercollateralized during
+ optimistic matching.
+A best effort canceled order may not have been removed on other dYdX
+nodes including other dYdX validator nodes and may still be included in
+future order matches.
+ - ORDER_REMOVAL_STATUS_CANCELED: A canceled order is one that is confirmed to be removed on all dYdX nodes
+(discounting dishonest dYdX nodes) and will not be included in any future
+order matches.
+The cases where this happens includes:
+- the order is expired.
+ - ORDER_REMOVAL_STATUS_FILLED: An order was fully-filled. Only sent by the Indexer for stateful orders.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|OrderRemovalStatus is an enum for the resulting status after an order is removed.
- ORDER_REMOVAL_STATUS_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED: A best effort canceled order is one that has only been confirmed to be removed on the dYdX node sending the off-chain update message. The cases where this happens includes: - the order was removed due to the dYdX node receiving a CancelOrder transaction for the order. - the order was removed due to being undercollateralized during optimistic matching. A best effort canceled order may not have been removed on other dYdX nodes including other dYdX validator nodes and may still be included in future order matches. - ORDER_REMOVAL_STATUS_CANCELED: A canceled order is one that is confirmed to be removed on all dYdX nodes (discounting dishonest dYdX nodes) and will not be included in any future order matches. The cases where this happens includes: - the order is expired. - ORDER_REMOVAL_STATUS_FILLED: An order was fully-filled. Only sent by the Indexer for stateful orders.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|ORDER_REMOVAL_STATUS_UNSPECIFIED|
+|*anonymous*|ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED|
+|*anonymous*|ORDER_REMOVAL_STATUS_CANCELED|
+|*anonymous*|ORDER_REMOVAL_STATUS_FILLED|
+
+## dydxprotocol.indexer.off_chain_updates.OrderUpdateV1
+
+
+
+
+
+
+```json
+{
+ "order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "total_filled_quantums": "string"
+}
+
+```
+
+OrderUpdate messages contain the id of the order being updated, and the
+updated total filled quantums of the order.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|order_id|object|false|none|IndexerOrderId refers to a single order belonging to a Subaccount.|
+|» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|total_filled_quantums|string(uint64)|false|none|none|
+
+## dydxprotocol.indexer.protocol.v1.IndexerOrder
+
+
+
+
+
+
+```json
+{
+ "order_id": {
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+ },
+ "side": "SIDE_UNSPECIFIED",
+ "quantums": "string",
+ "subticks": "string",
+ "good_til_block": 0,
+ "good_til_block_time": 0,
+ "time_in_force": "TIME_IN_FORCE_UNSPECIFIED",
+ "reduce_only": true,
+ "client_metadata": 0,
+ "condition_type": "CONDITION_TYPE_UNSPECIFIED",
+ "conditional_order_trigger_subticks": "string"
+}
+
+```
+
+IndexerOrderV1 represents a single order belonging to a `Subaccount`
+for a particular `ClobPair`.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|order_id|object|false|none|The unique ID of this order. Meant to be unique across all orders.|
+|» subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|» client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|» order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|» clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+|side|string|false|none|Represents the side of the orderbook the order will be placed on. Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be placed on the orderbook.
- SIDE_UNSPECIFIED: Default value. This value is invalid and unused. - SIDE_BUY: SIDE_BUY is used to represent a BUY order. - SIDE_SELL: SIDE_SELL is used to represent a SELL order.|
+|quantums|string(uint64)|false|none|The size of this order in base quantums. Must be a multiple of `ClobPair.StepBaseQuantums` (where `ClobPair.Id = orderId.ClobPairId`).|
+|subticks|string(uint64)|false|none|The price level that this order will be placed at on the orderbook, in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+|good_til_block|integer(int64)|false|none|The last block this order can be executed at (after which it will be unfillable). Used only for Short-Term orders. If this value is non-zero then the order is assumed to be a Short-Term order.|
+|good_til_block_time|integer(int64)|false|none|good_til_block_time represents the unix timestamp (in seconds) at which a stateful order will be considered expired. The good_til_block_time is always evaluated against the previous block's `BlockTime` instead of the block in which the order is committed. If this value is non-zero then the order is assumed to be a stateful or conditional order.|
+|time_in_force|string|false|none|The time in force of this order.|
+|reduce_only|boolean|false|none|Enforces that the order can only reduce the size of an existing position. If a ReduceOnly order would change the side of the existing position, its size is reduced to that of the remaining size of the position. If existing orders on the book with ReduceOnly would already close the position, the least aggressive (out-of-the-money) ReduceOnly orders are resized and canceled first.|
+|client_metadata|integer(int64)|false|none|Set of bit flags set arbitrarily by clients and ignored by the protocol. Used by indexer to infer information about a placed order.|
+|condition_type|string|false|none|- CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an order will be placed immediately on the orderbook. - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will trigger when the oracle price moves at or above the trigger price for buys, and at or below the trigger price for sells. - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit order will trigger when the oracle price moves at or below the trigger price for buys and at or above the trigger price for sells.|
+|conditional_order_trigger_subticks|string(uint64)|false|none|conditional_order_trigger_subticks represents the price at which this order will be triggered. If the condition_type is CONDITION_TYPE_UNSPECIFIED, this value is enforced to be 0. If this value is nonzero, condition_type cannot be CONDITION_TYPE_UNSPECIFIED. Value is in subticks. Must be a multiple of ClobPair.SubticksPerTick (where `ClobPair.Id = orderId.ClobPairId`).|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|side|SIDE_UNSPECIFIED|
+|side|SIDE_BUY|
+|side|SIDE_SELL|
+|time_in_force|TIME_IN_FORCE_UNSPECIFIED|
+|time_in_force|TIME_IN_FORCE_IOC|
+|time_in_force|TIME_IN_FORCE_POST_ONLY|
+|time_in_force|TIME_IN_FORCE_FILL_OR_KILL|
+|condition_type|CONDITION_TYPE_UNSPECIFIED|
+|condition_type|CONDITION_TYPE_STOP_LOSS|
+|condition_type|CONDITION_TYPE_TAKE_PROFIT|
+
+## dydxprotocol.indexer.protocol.v1.IndexerOrder.ConditionType
+
+
+
+
+
+
+```json
+"CONDITION_TYPE_UNSPECIFIED"
+
+```
+
+ - CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an
+order will be placed immediately on the orderbook.
+ - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will
+trigger when the oracle price moves at or above the trigger price for
+buys, and at or below the trigger price for sells.
+ - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit
+order will trigger when the oracle price moves at or below the trigger
+price for buys and at or above the trigger price for sells.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|- CONDITION_TYPE_UNSPECIFIED: CONDITION_TYPE_UNSPECIFIED represents the default behavior where an order will be placed immediately on the orderbook. - CONDITION_TYPE_STOP_LOSS: CONDITION_TYPE_STOP_LOSS represents a stop order. A stop order will trigger when the oracle price moves at or above the trigger price for buys, and at or below the trigger price for sells. - CONDITION_TYPE_TAKE_PROFIT: CONDITION_TYPE_TAKE_PROFIT represents a take profit order. A take profit order will trigger when the oracle price moves at or below the trigger price for buys and at or above the trigger price for sells.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|CONDITION_TYPE_UNSPECIFIED|
+|*anonymous*|CONDITION_TYPE_STOP_LOSS|
+|*anonymous*|CONDITION_TYPE_TAKE_PROFIT|
+
+## dydxprotocol.indexer.protocol.v1.IndexerOrder.Side
+
+
+
+
+
+
+```json
+"SIDE_UNSPECIFIED"
+
+```
+
+Represents the side of the orderbook the order will be placed on.
+Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be
+placed on the orderbook.
+
+ - SIDE_UNSPECIFIED: Default value. This value is invalid and unused.
+ - SIDE_BUY: SIDE_BUY is used to represent a BUY order.
+ - SIDE_SELL: SIDE_SELL is used to represent a SELL order.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|Represents the side of the orderbook the order will be placed on. Note that Side.SIDE_UNSPECIFIED is an invalid order and cannot be placed on the orderbook.
- SIDE_UNSPECIFIED: Default value. This value is invalid and unused. - SIDE_BUY: SIDE_BUY is used to represent a BUY order. - SIDE_SELL: SIDE_SELL is used to represent a SELL order.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|SIDE_UNSPECIFIED|
+|*anonymous*|SIDE_BUY|
+|*anonymous*|SIDE_SELL|
+
+## dydxprotocol.indexer.protocol.v1.IndexerOrder.TimeInForce
+
+
+
+
+
+
+```json
+"TIME_IN_FORCE_UNSPECIFIED"
+
+```
+
+TimeInForce indicates how long an order will remain active before it
+is executed or expires.
+
+ - TIME_IN_FORCE_UNSPECIFIED: TIME_IN_FORCE_UNSPECIFIED represents the default behavior where an
+order will first match with existing orders on the book, and any
+remaining size will be added to the book as a maker order.
+ - TIME_IN_FORCE_IOC: TIME_IN_FORCE_IOC enforces that an order only be matched with
+maker orders on the book. If the order has remaining size after
+matching with existing orders on the book, the remaining size
+is not placed on the book.
+ - TIME_IN_FORCE_POST_ONLY: TIME_IN_FORCE_POST_ONLY enforces that an order only be placed
+on the book as a maker order. Note this means that validators will cancel
+any newly-placed post only orders that would cross with other maker
+orders.
+ - TIME_IN_FORCE_FILL_OR_KILL: TIME_IN_FORCE_FILL_OR_KILL enforces that an order will either be filled
+completely and immediately by maker orders on the book or canceled if the
+entire amount can‘t be matched.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|TimeInForce indicates how long an order will remain active before it is executed or expires.
- TIME_IN_FORCE_UNSPECIFIED: TIME_IN_FORCE_UNSPECIFIED represents the default behavior where an order will first match with existing orders on the book, and any remaining size will be added to the book as a maker order. - TIME_IN_FORCE_IOC: TIME_IN_FORCE_IOC enforces that an order only be matched with maker orders on the book. If the order has remaining size after matching with existing orders on the book, the remaining size is not placed on the book. - TIME_IN_FORCE_POST_ONLY: TIME_IN_FORCE_POST_ONLY enforces that an order only be placed on the book as a maker order. Note this means that validators will cancel any newly-placed post only orders that would cross with other maker orders. - TIME_IN_FORCE_FILL_OR_KILL: TIME_IN_FORCE_FILL_OR_KILL enforces that an order will either be filled completely and immediately by maker orders on the book or canceled if the entire amount can‘t be matched.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|TIME_IN_FORCE_UNSPECIFIED|
+|*anonymous*|TIME_IN_FORCE_IOC|
+|*anonymous*|TIME_IN_FORCE_POST_ONLY|
+|*anonymous*|TIME_IN_FORCE_FILL_OR_KILL|
+
+## dydxprotocol.indexer.protocol.v1.IndexerOrderId
+
+
+
+
+
+
+```json
+{
+ "subaccount_id": {
+ "owner": "string",
+ "number": 0
+ },
+ "client_id": 0,
+ "order_flags": 0,
+ "clob_pair_id": 0
+}
+
+```
+
+IndexerOrderId refers to a single order belonging to a Subaccount.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subaccount_id|object|false|none|The subaccount ID that opened this order. Note that this field has `gogoproto.nullable = false` so that it is generated as a value instead of a pointer. This is because the `OrderId` proto is used as a key within maps, and map comparisons will compare pointers for equality (when the desired behavior is to compare the values).|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+|client_id|integer(int64)|false|none|The client ID of this order, unique with respect to the specific sub account (I.E., the same subaccount can't have two orders with the same ClientId).|
+|order_flags|integer(int64)|false|none|order_flags represent order flags for the order. This field is invalid if it's greater than 127 (larger than one byte). Each bit in the first byte represents a different flag. Currently only two flags are supported.
Starting from the bit after the most MSB (note that the MSB is used in proto varint encoding, and therefore cannot be used): Bit 1 is set if this order is a Long-Term order (0x40, or 64 as a uint8). Bit 2 is set if this order is a Conditional order (0x20, or 32 as a uint8).
If neither bit is set, the order is assumed to be a Short-Term order.
If both bits are set or bits other than the 2nd and 3rd are set, the order ID is invalid.|
+|clob_pair_id|integer(int64)|false|none|ID of the CLOB the order is created for.|
+
+## dydxprotocol.indexer.protocol.v1.IndexerSubaccountId
+
+
+
+
+
+
+```json
+{
+ "owner": "string",
+ "number": 0
+}
+
+```
+
+IndexerSubaccountId defines a unique identifier for a Subaccount.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|owner|string|false|none|The address of the wallet that owns this subaccount.|
+|number|integer(int64)|false|none|< 128 Since 128 should be enough to start and it fits within 1 Byte (1 Bit needed to indicate that the first byte is the last).|
+
+## dydxprotocol.indexer.shared.OrderRemovalReason
+
+
+
+
+
+
+```json
+"ORDER_REMOVAL_REASON_UNSPECIFIED"
+
+```
+
+OrderRemovalReason is an enum of all the reasons an order was removed.
+
+ - ORDER_REMOVAL_REASON_UNSPECIFIED: Default value, this is invalid and unused.
+ - ORDER_REMOVAL_REASON_EXPIRED: The order was removed due to being expired.
+ - ORDER_REMOVAL_REASON_USER_CANCELED: The order was removed due to being canceled by a user.
+ - ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED: The order was removed due to being undercollateralized.
+ - ORDER_REMOVAL_REASON_INTERNAL_ERROR: The order caused an internal error during order placement and was
+removed.
+ - ORDER_REMOVAL_REASON_SELF_TRADE_ERROR: The order would have matched against another order placed by the same
+subaccount and was removed.
+ - ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER: The order would have matched against maker orders on the orderbook
+despite being a post-only order and was removed.
+ - ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK: The order was an ICO order and would have been placed on the orderbook as
+resting liquidity and was removed.
+ - ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED: The order was a fill-or-kill order that could not be fully filled and was
+removed.
+ - ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE: The order was a reduce-only order that was removed due to either:
+- being a taker order and fully-filling the order would flip the side of
+ the subaccount's position, in this case the remaining size of the
+ order is removed
+- being a maker order resting on the book and being removed when either
+ the subaccount's position is closed or flipped sides
+ - ORDER_REMOVAL_REASON_INDEXER_EXPIRED: The order should be expired, according to the Indexer's cached data, but
+the Indexer has yet to receive a message to remove the order. In order to
+keep the data cached by the Indexer up-to-date and accurate, clear out
+the data if it's expired by sending an order removal with this reason.
+Protocol should never send this reason to Indexer.
+ - ORDER_REMOVAL_REASON_REPLACED: The order has been replaced.
+ - ORDER_REMOVAL_REASON_FULLY_FILLED: The order has been fully-filled. Only sent by the Indexer for stateful
+orders.
+ - ORDER_REMOVAL_REASON_EQUITY_TIER: The order has been removed since the subaccount does not satisfy the
+equity tier requirements.
+ - ORDER_REMOVAL_REASON_FINAL_SETTLEMENT: The order has been removed since its ClobPair has entered final settlement.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|OrderRemovalReason is an enum of all the reasons an order was removed.
- ORDER_REMOVAL_REASON_UNSPECIFIED: Default value, this is invalid and unused. - ORDER_REMOVAL_REASON_EXPIRED: The order was removed due to being expired. - ORDER_REMOVAL_REASON_USER_CANCELED: The order was removed due to being canceled by a user. - ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED: The order was removed due to being undercollateralized. - ORDER_REMOVAL_REASON_INTERNAL_ERROR: The order caused an internal error during order placement and was removed. - ORDER_REMOVAL_REASON_SELF_TRADE_ERROR: The order would have matched against another order placed by the same subaccount and was removed. - ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER: The order would have matched against maker orders on the orderbook despite being a post-only order and was removed. - ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK: The order was an ICO order and would have been placed on the orderbook as resting liquidity and was removed. - ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED: The order was a fill-or-kill order that could not be fully filled and was removed. - ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE: The order was a reduce-only order that was removed due to either: - being a taker order and fully-filling the order would flip the side of the subaccount's position, in this case the remaining size of the order is removed - being a maker order resting on the book and being removed when either the subaccount's position is closed or flipped sides - ORDER_REMOVAL_REASON_INDEXER_EXPIRED: The order should be expired, according to the Indexer's cached data, but the Indexer has yet to receive a message to remove the order. In order to keep the data cached by the Indexer up-to-date and accurate, clear out the data if it's expired by sending an order removal with this reason. Protocol should never send this reason to Indexer. - ORDER_REMOVAL_REASON_REPLACED: The order has been replaced. - ORDER_REMOVAL_REASON_FULLY_FILLED: The order has been fully-filled. Only sent by the Indexer for stateful orders. - ORDER_REMOVAL_REASON_EQUITY_TIER: The order has been removed since the subaccount does not satisfy the equity tier requirements. - ORDER_REMOVAL_REASON_FINAL_SETTLEMENT: The order has been removed since its ClobPair has entered final settlement.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|ORDER_REMOVAL_REASON_UNSPECIFIED|
+|*anonymous*|ORDER_REMOVAL_REASON_EXPIRED|
+|*anonymous*|ORDER_REMOVAL_REASON_USER_CANCELED|
+|*anonymous*|ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED|
+|*anonymous*|ORDER_REMOVAL_REASON_INTERNAL_ERROR|
+|*anonymous*|ORDER_REMOVAL_REASON_SELF_TRADE_ERROR|
+|*anonymous*|ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER|
+|*anonymous*|ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK|
+|*anonymous*|ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED|
+|*anonymous*|ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE|
+|*anonymous*|ORDER_REMOVAL_REASON_INDEXER_EXPIRED|
+|*anonymous*|ORDER_REMOVAL_REASON_REPLACED|
+|*anonymous*|ORDER_REMOVAL_REASON_FULLY_FILLED|
+|*anonymous*|ORDER_REMOVAL_REASON_EQUITY_TIER|
+|*anonymous*|ORDER_REMOVAL_REASON_FINAL_SETTLEMENT|
+
+## dydxprotocol.subaccounts.SubaccountId
+
+
+
+
+
+
+```json
+{
+ "owner": "string",
+ "number": 0
+}
+
+```
+
+SubaccountId defines a unique identifier for a Subaccount.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|owner|string|false|none|The address of the wallet that owns this subaccount.|
+|number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+
+## grpc.gateway.runtime.StreamError
+
+
+
+
+
+
+```json
+{
+ "grpc_code": 0,
+ "http_code": 0,
+ "message": "string",
+ "http_status": "string",
+ "details": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|grpc_code|integer(int32)|false|none|none|
+|http_code|integer(int32)|false|none|none|
+|message|string|false|none|none|
+|http_status|string|false|none|none|
+|details|[object]|false|none|none|
+|» type_url|string|false|none|none|
+|» value|string(byte)|false|none|none|
+
+## dydxprotocol.delaymsg.DelayedMessage
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "msg": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "block_height": 0
+}
+
+```
+
+DelayedMessage is a message that is delayed until a certain block height.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|The ID of the delayed message.|
+|msg|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|block_height|integer(int64)|false|none|The block height at which the message should be executed.|
+
+## dydxprotocol.delaymsg.QueryBlockMessageIdsResponse
+
+
+
+
+
+
+```json
+{
+ "message_ids": [
+ 0
+ ]
+}
+
+```
+
+QueryGetBlockMessageIdsResponse is the response type for the BlockMessageIds
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|message_ids|[integer]|false|none|none|
+
+## dydxprotocol.delaymsg.QueryMessageResponse
+
+
+
+
+
+
+```json
+{
+ "message": {
+ "id": 0,
+ "msg": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "block_height": 0
+ }
+}
+
+```
+
+QueryGetMessageResponse is the response type for the Message RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|message|object|false|none|DelayedMessage is a message that is delayed until a certain block height.|
+|» id|integer(int64)|false|none|The ID of the delayed message.|
+|» msg|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» block_height|integer(int64)|false|none|The block height at which the message should be executed.|
+
+## dydxprotocol.delaymsg.QueryNextDelayedMessageIdResponse
+
+
+
+
+
+
+```json
+{
+ "next_delayed_message_id": 0
+}
+
+```
+
+QueryNextDelayedMessageIdResponse is the response type for the
+NextDelayedMessageId RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|next_delayed_message_id|integer(int64)|false|none|none|
+
+## dydxprotocol.epochs.EpochInfo
+
+
+
+
+
+
+```json
+{
+ "name": "string",
+ "next_tick": 0,
+ "duration": 0,
+ "current_epoch": 0,
+ "current_epoch_start_block": 0,
+ "is_initialized": true,
+ "fast_forward_next_tick": true
+}
+
+```
+
+EpochInfo stores metadata of an epoch timer.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|name|string|false|none|name is the unique identifier.|
+|next_tick|integer(int64)|false|none|next_tick indicates when the next epoch starts (in Unix Epoch seconds), if `EpochInfo` has been initialized. If `EpochInfo` is not initialized yet, `next_tick` indicates the earliest initialization time (see `is_initialized` below).|
+|duration|integer(int64)|false|none|duration of the epoch in seconds.|
+|current_epoch|integer(int64)|false|none|current epoch is the number of the current epoch. 0 if `next_tick` has never been reached, positive otherwise.|
+|current_epoch_start_block|integer(int64)|false|none|current_epoch_start_block indicates the block height when the current epoch started. 0 if `current_epoch` is 0.|
+|is_initialized|boolean|false|none|none|
+|fast_forward_next_tick|boolean|false|none|fast_forward_next_tick specifies whether during initialization, `next_tick` should be fast-forwarded to be greater than the current block time. If `false`, the original `next_tick` value is unchanged during initialization. If `true`, `next_tick` will be set to the smallest value `x` greater than the current block time such that `(x - next_tick) % duration = 0`.|
+
+## dydxprotocol.epochs.QueryEpochInfoAllResponse
+
+
+
+
+
+
+```json
+{
+ "epoch_info": [
+ {
+ "name": "string",
+ "next_tick": 0,
+ "duration": 0,
+ "current_epoch": 0,
+ "current_epoch_start_block": 0,
+ "is_initialized": true,
+ "fast_forward_next_tick": true
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryEpochInfoAllResponse is response type for the AllEpochInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|epoch_info|[object]|false|none|none|
+|» name|string|false|none|name is the unique identifier.|
+|» next_tick|integer(int64)|false|none|next_tick indicates when the next epoch starts (in Unix Epoch seconds), if `EpochInfo` has been initialized. If `EpochInfo` is not initialized yet, `next_tick` indicates the earliest initialization time (see `is_initialized` below).|
+|» duration|integer(int64)|false|none|duration of the epoch in seconds.|
+|» current_epoch|integer(int64)|false|none|current epoch is the number of the current epoch. 0 if `next_tick` has never been reached, positive otherwise.|
+|» current_epoch_start_block|integer(int64)|false|none|current_epoch_start_block indicates the block height when the current epoch started. 0 if `current_epoch` is 0.|
+|» is_initialized|boolean|false|none|none|
+|» fast_forward_next_tick|boolean|false|none|fast_forward_next_tick specifies whether during initialization, `next_tick` should be fast-forwarded to be greater than the current block time. If `false`, the original `next_tick` value is unchanged during initialization. If `true`, `next_tick` will be set to the smallest value `x` greater than the current block time such that `(x - next_tick) % duration = 0`.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.epochs.QueryEpochInfoResponse
+
+
+
+
+
+
+```json
+{
+ "epoch_info": {
+ "name": "string",
+ "next_tick": 0,
+ "duration": 0,
+ "current_epoch": 0,
+ "current_epoch_start_block": 0,
+ "is_initialized": true,
+ "fast_forward_next_tick": true
+ }
+}
+
+```
+
+QueryEpochInfoResponse is response type for the GetEpochInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|epoch_info|object|false|none|EpochInfo stores metadata of an epoch timer.|
+|» name|string|false|none|name is the unique identifier.|
+|» next_tick|integer(int64)|false|none|next_tick indicates when the next epoch starts (in Unix Epoch seconds), if `EpochInfo` has been initialized. If `EpochInfo` is not initialized yet, `next_tick` indicates the earliest initialization time (see `is_initialized` below).|
+|» duration|integer(int64)|false|none|duration of the epoch in seconds.|
+|» current_epoch|integer(int64)|false|none|current epoch is the number of the current epoch. 0 if `next_tick` has never been reached, positive otherwise.|
+|» current_epoch_start_block|integer(int64)|false|none|current_epoch_start_block indicates the block height when the current epoch started. 0 if `current_epoch` is 0.|
+|» is_initialized|boolean|false|none|none|
+|» fast_forward_next_tick|boolean|false|none|fast_forward_next_tick specifies whether during initialization, `next_tick` should be fast-forwarded to be greater than the current block time. If `false`, the original `next_tick` value is unchanged during initialization. If `true`, `next_tick` will be set to the smallest value `x` greater than the current block time such that `(x - next_tick) % duration = 0`.|
+
+## dydxprotocol.feetiers.PerpetualFeeParams
+
+
+
+
+
+
+```json
+{
+ "tiers": [
+ {
+ "name": "string",
+ "absolute_volume_requirement": "string",
+ "total_volume_share_requirement_ppm": 0,
+ "maker_volume_share_requirement_ppm": 0,
+ "maker_fee_ppm": 0,
+ "taker_fee_ppm": 0
+ }
+ ]
+}
+
+```
+
+PerpetualFeeParams defines the parameters for perpetual fees.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tiers|[object]|false|none|Sorted fee tiers (lowest requirements first).|
+|» A fee tier for perpetuals|object|false|none|none|
+|»» name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|»» absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|»» total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|»» maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|»» maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|»» taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+## dydxprotocol.feetiers.PerpetualFeeTier
+
+
+
+
+
+
+```json
+{
+ "name": "string",
+ "absolute_volume_requirement": "string",
+ "total_volume_share_requirement_ppm": 0,
+ "maker_volume_share_requirement_ppm": 0,
+ "maker_fee_ppm": 0,
+ "taker_fee_ppm": 0
+}
+
+```
+
+A fee tier for perpetuals
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+## dydxprotocol.feetiers.QueryPerpetualFeeParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "tiers": [
+ {
+ "name": "string",
+ "absolute_volume_requirement": "string",
+ "total_volume_share_requirement_ppm": 0,
+ "maker_volume_share_requirement_ppm": 0,
+ "maker_fee_ppm": 0,
+ "taker_fee_ppm": 0
+ }
+ ]
+ }
+}
+
+```
+
+QueryPerpetualFeeParamsResponse is a response type for the PerpetualFeeParams
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|PerpetualFeeParams defines the parameters for perpetual fees.|
+|» tiers|[object]|false|none|Sorted fee tiers (lowest requirements first).|
+|»» A fee tier for perpetuals|object|false|none|none|
+|»»» name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|»»» absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|»»» total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|»»» maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|»»» maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|»»» taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+## dydxprotocol.feetiers.QueryUserFeeTierResponse
+
+
+
+
+
+
+```json
+{
+ "index": 0,
+ "tier": {
+ "name": "string",
+ "absolute_volume_requirement": "string",
+ "total_volume_share_requirement_ppm": 0,
+ "maker_volume_share_requirement_ppm": 0,
+ "maker_fee_ppm": 0,
+ "taker_fee_ppm": 0
+ }
+}
+
+```
+
+QueryUserFeeTierResponse is a request type for the UserFeeTier RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|index|integer(int64)|false|none|Index of the fee tier in the list queried from PerpetualFeeParams.|
+|tier|object|false|none|none|
+|» name|string|false|none|Human-readable name of the tier, e.g. "Gold".|
+|» absolute_volume_requirement|string(uint64)|false|none|The trader's absolute volume requirement in quote quantums.|
+|» total_volume_share_requirement_ppm|integer(int64)|false|none|The total volume share requirement.|
+|» maker_volume_share_requirement_ppm|integer(int64)|false|none|The maker volume share requirement.|
+|» maker_fee_ppm|integer(int32)|false|none|The maker fee once this tier is reached.|
+|» taker_fee_ppm|integer(int32)|false|none|The taker fee once this tier is reached.|
+
+## dydxprotocol.perpetuals.LiquidityTier
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "name": "string",
+ "initial_margin_ppm": 0,
+ "maintenance_fraction_ppm": 0,
+ "base_position_notional": "string",
+ "impact_notional": "string",
+ "open_interest_lower_cap": "string",
+ "open_interest_upper_cap": "string"
+}
+
+```
+
+LiquidityTier stores margin information.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|Unique id.|
+|name|string|false|none|The name of the tier purely for mnemonic purposes, e.g. "Gold".|
+|initial_margin_ppm|integer(int64)|false|none|The margin fraction needed to open a position. In parts-per-million.|
+|maintenance_fraction_ppm|integer(int64)|false|none|The fraction of the initial-margin that the maintenance-margin is, e.g. 50%. In parts-per-million.|
+|base_position_notional|string(uint64)|false|none|The maximum position size at which the margin requirements are not increased over the default values. Above this position size, the margin requirements increase at a rate of sqrt(size).
Deprecated since v3.x.|
+|impact_notional|string(uint64)|false|none|The impact notional amount (in quote quantums) is used to determine impact bid/ask prices and its recommended value is 500 USDC / initial margin fraction. - Impact bid price = average execution price for a market sell of the impact notional value. - Impact ask price = average execution price for a market buy of the impact notional value.|
+|open_interest_lower_cap|string(uint64)|false|none|Lower cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF is not affected when OI <= open_interest_lower_cap.|
+|open_interest_upper_cap|string(uint64)|false|none|Upper cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF scales linearly to 100% as OI approaches open_interest_upper_cap. If zero, then the IMF does not scale with OI.|
+
+## dydxprotocol.perpetuals.MarketPremiums
+
+
+
+
+
+
+```json
+{
+ "perpetual_id": 0,
+ "premiums": [
+ 0
+ ]
+}
+
+```
+
+MarketPremiums stores a list of premiums for a single perpetual market.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+
+## dydxprotocol.perpetuals.Params
+
+
+
+
+
+
+```json
+{
+ "funding_rate_clamp_factor_ppm": 0,
+ "premium_vote_clamp_factor_ppm": 0,
+ "min_num_votes_per_sample": 0
+}
+
+```
+
+Params defines the parameters for x/perpetuals module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|funding_rate_clamp_factor_ppm|integer(int64)|false|none|Funding rate clamp factor in parts-per-million, used for clamping 8-hour funding rates according to equation: |R| <= funding_rate_clamp_factor * (initial margin - maintenance margin).|
+|premium_vote_clamp_factor_ppm|integer(int64)|false|none|Premium vote clamp factor in parts-per-million, used for clamping premium votes according to equation: |V| <= premium_vote_clamp_factor * (initial margin - maintenance margin).|
+|min_num_votes_per_sample|integer(int64)|false|none|Minimum number of premium votes per premium sample. If number of premium votes is smaller than this number, pad with zeros up to this number.|
+
+## dydxprotocol.perpetuals.Perpetual
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "id": 0,
+ "ticker": "string",
+ "market_id": 0,
+ "atomic_resolution": 0,
+ "default_funding_ppm": 0,
+ "liquidity_tier": 0,
+ "market_type": "PERPETUAL_MARKET_TYPE_UNSPECIFIED"
+ },
+ "funding_index": "string",
+ "open_interest": "string"
+}
+
+```
+
+Perpetual represents a perpetual on the dYdX exchange.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|PerpetualParams is the parameters of the perpetual.|
+|» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|» ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|» market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|» default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|» liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|» market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+|funding_index|string(byte)|false|none|The current index determined by the cumulative all-time history of the funding mechanism. Starts at zero.|
+|open_interest|string(byte)|false|none|Total size of open long contracts, measured in base_quantums.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+## dydxprotocol.perpetuals.PerpetualMarketType
+
+
+
+
+
+
+```json
+"PERPETUAL_MARKET_TYPE_UNSPECIFIED"
+
+```
+
+ - PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type.
+ - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets.
+ - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|*anonymous*|PERPETUAL_MARKET_TYPE_CROSS|
+|*anonymous*|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+## dydxprotocol.perpetuals.PerpetualParams
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "ticker": "string",
+ "market_id": 0,
+ "atomic_resolution": 0,
+ "default_funding_ppm": 0,
+ "liquidity_tier": 0,
+ "market_type": "PERPETUAL_MARKET_TYPE_UNSPECIFIED"
+}
+
+```
+
+PerpetualParams represents the parameters of a perpetual on the dYdX
+exchange.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|Unique, sequentially-generated.|
+|ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+## dydxprotocol.perpetuals.PremiumStore
+
+
+
+
+
+
+```json
+{
+ "all_market_premiums": [
+ {
+ "perpetual_id": 0,
+ "premiums": [
+ 0
+ ]
+ }
+ ],
+ "num_premiums": 0
+}
+
+```
+
+PremiumStore is a struct to store a perpetual premiums for all
+perpetual markets. It stores a list of `MarketPremiums`, each of which
+corresponds to a perpetual market and stores a list of non-zero premium
+values for that market.
+This struct can either be used to store `PremiumVotes` or
+`PremiumSamples`.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|all_market_premiums|[object]|false|none|all_market_premiums a list of `MarketPremiums`, each corresponding to a perpetual market.|
+|» perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|» premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+|num_premiums|integer(int64)|false|none|number of rounds where premium values were added. This value indicates the total number of premiums (zeros and non-zeros) for each `MarketPremiums` struct. Note that in the edge case a perpetual market was added in the middle of a epoch, we don't keep a seperate count for that market. This means we treat this market as having zero premiums before it was added.|
+
+## dydxprotocol.perpetuals.QueryAllLiquidityTiersResponse
+
+
+
+
+
+
+```json
+{
+ "liquidity_tiers": [
+ {
+ "id": 0,
+ "name": "string",
+ "initial_margin_ppm": 0,
+ "maintenance_fraction_ppm": 0,
+ "base_position_notional": "string",
+ "impact_notional": "string",
+ "open_interest_lower_cap": "string",
+ "open_interest_upper_cap": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllLiquidityTiersResponse is response type for the AllLiquidityTiers RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|liquidity_tiers|[object]|false|none|none|
+|» id|integer(int64)|false|none|Unique id.|
+|» name|string|false|none|The name of the tier purely for mnemonic purposes, e.g. "Gold".|
+|» initial_margin_ppm|integer(int64)|false|none|The margin fraction needed to open a position. In parts-per-million.|
+|» maintenance_fraction_ppm|integer(int64)|false|none|The fraction of the initial-margin that the maintenance-margin is, e.g. 50%. In parts-per-million.|
+|» base_position_notional|string(uint64)|false|none|The maximum position size at which the margin requirements are not increased over the default values. Above this position size, the margin requirements increase at a rate of sqrt(size).
Deprecated since v3.x.|
+|» impact_notional|string(uint64)|false|none|The impact notional amount (in quote quantums) is used to determine impact bid/ask prices and its recommended value is 500 USDC / initial margin fraction. - Impact bid price = average execution price for a market sell of the impact notional value. - Impact ask price = average execution price for a market buy of the impact notional value.|
+|» open_interest_lower_cap|string(uint64)|false|none|Lower cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF is not affected when OI <= open_interest_lower_cap.|
+|» open_interest_upper_cap|string(uint64)|false|none|Upper cap for Open Interest Margin Fracton (OIMF), in quote quantums. IMF scales linearly to 100% as OI approaches open_interest_upper_cap. If zero, then the IMF does not scale with OI.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.perpetuals.QueryAllPerpetualsResponse
+
+
+
+
+
+
+```json
+{
+ "perpetual": [
+ {
+ "params": {
+ "id": 0,
+ "ticker": "string",
+ "market_id": 0,
+ "atomic_resolution": 0,
+ "default_funding_ppm": 0,
+ "liquidity_tier": 0,
+ "market_type": "PERPETUAL_MARKET_TYPE_UNSPECIFIED"
+ },
+ "funding_index": "string",
+ "open_interest": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllPerpetualsResponse is response type for the AllPerpetuals RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|perpetual|[object]|false|none|none|
+|» params|object|false|none|PerpetualParams is the parameters of the perpetual.|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|»» ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|»» market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|»» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|»» default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|»» liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|»» market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+|» funding_index|string(byte)|false|none|The current index determined by the cumulative all-time history of the funding mechanism. Starts at zero.|
+|» open_interest|string(byte)|false|none|Total size of open long contracts, measured in base_quantums.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+## dydxprotocol.perpetuals.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "funding_rate_clamp_factor_ppm": 0,
+ "premium_vote_clamp_factor_ppm": 0,
+ "min_num_votes_per_sample": 0
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|Params defines the parameters for x/perpetuals module.|
+|» funding_rate_clamp_factor_ppm|integer(int64)|false|none|Funding rate clamp factor in parts-per-million, used for clamping 8-hour funding rates according to equation: |R| <= funding_rate_clamp_factor * (initial margin - maintenance margin).|
+|» premium_vote_clamp_factor_ppm|integer(int64)|false|none|Premium vote clamp factor in parts-per-million, used for clamping premium votes according to equation: |V| <= premium_vote_clamp_factor * (initial margin - maintenance margin).|
+|» min_num_votes_per_sample|integer(int64)|false|none|Minimum number of premium votes per premium sample. If number of premium votes is smaller than this number, pad with zeros up to this number.|
+
+## dydxprotocol.perpetuals.QueryPerpetualResponse
+
+
+
+
+
+
+```json
+{
+ "perpetual": {
+ "params": {
+ "id": 0,
+ "ticker": "string",
+ "market_id": 0,
+ "atomic_resolution": 0,
+ "default_funding_ppm": 0,
+ "liquidity_tier": 0,
+ "market_type": "PERPETUAL_MARKET_TYPE_UNSPECIFIED"
+ },
+ "funding_index": "string",
+ "open_interest": "string"
+ }
+}
+
+```
+
+QueryPerpetualResponse is response type for the Perpetual RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|perpetual|object|false|none|Perpetual represents a perpetual on the dYdX exchange.|
+|» params|object|false|none|PerpetualParams is the parameters of the perpetual.|
+|»» id|integer(int64)|false|none|Unique, sequentially-generated.|
+|»» ticker|string|false|none|The name of the `Perpetual` (e.g. `BTC-USD`).|
+|»» market_id|integer(int64)|false|none|The market associated with this `Perpetual`. It acts as the oracle price for the purposes of calculating collateral, margin requirements, and funding rates.|
+|»» atomic_resolution|integer(int32)|false|none|The exponent for converting an atomic amount (`size = 1`) to a full coin. For example, if `AtomicResolution = -8` then a `PerpetualPosition` with `size = 1e8` is equivalent to a position size of one full coin.|
+|»» default_funding_ppm|integer(int32)|false|none|The default funding payment if there is no price premium. In parts-per-million.|
+|»» liquidity_tier|integer(int64)|false|none|The liquidity_tier that this perpetual is associated with.|
+|»» market_type|string|false|none|- PERPETUAL_MARKET_TYPE_UNSPECIFIED: Unspecified market type. - PERPETUAL_MARKET_TYPE_CROSS: Market type for cross margin perpetual markets. - PERPETUAL_MARKET_TYPE_ISOLATED: Market type for isolated margin perpetual markets.|
+|» funding_index|string(byte)|false|none|The current index determined by the cumulative all-time history of the funding mechanism. Starts at zero.|
+|» open_interest|string(byte)|false|none|Total size of open long contracts, measured in base_quantums.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|market_type|PERPETUAL_MARKET_TYPE_UNSPECIFIED|
+|market_type|PERPETUAL_MARKET_TYPE_CROSS|
+|market_type|PERPETUAL_MARKET_TYPE_ISOLATED|
+
+## dydxprotocol.perpetuals.QueryPremiumSamplesResponse
+
+
+
+
+
+
+```json
+{
+ "premium_samples": {
+ "all_market_premiums": [
+ {
+ "perpetual_id": 0,
+ "premiums": [
+ 0
+ ]
+ }
+ ],
+ "num_premiums": 0
+ }
+}
+
+```
+
+QueryPremiumSamplesResponse is the response type for the PremiumSamples RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|premium_samples|object|false|none|PremiumStore is a struct to store a perpetual premiums for all perpetual markets. It stores a list of `MarketPremiums`, each of which corresponds to a perpetual market and stores a list of non-zero premium values for that market. This struct can either be used to store `PremiumVotes` or `PremiumSamples`.|
+|» all_market_premiums|[object]|false|none|all_market_premiums a list of `MarketPremiums`, each corresponding to a perpetual market.|
+|»» perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|»» premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+|» num_premiums|integer(int64)|false|none|number of rounds where premium values were added. This value indicates the total number of premiums (zeros and non-zeros) for each `MarketPremiums` struct. Note that in the edge case a perpetual market was added in the middle of a epoch, we don't keep a seperate count for that market. This means we treat this market as having zero premiums before it was added.|
+
+## dydxprotocol.perpetuals.QueryPremiumVotesResponse
+
+
+
+
+
+
+```json
+{
+ "premium_votes": {
+ "all_market_premiums": [
+ {
+ "perpetual_id": 0,
+ "premiums": [
+ 0
+ ]
+ }
+ ],
+ "num_premiums": 0
+ }
+}
+
+```
+
+QueryPremiumVotesResponse is the response type for the PremiumVotes RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|premium_votes|object|false|none|PremiumStore is a struct to store a perpetual premiums for all perpetual markets. It stores a list of `MarketPremiums`, each of which corresponds to a perpetual market and stores a list of non-zero premium values for that market. This struct can either be used to store `PremiumVotes` or `PremiumSamples`.|
+|» all_market_premiums|[object]|false|none|all_market_premiums a list of `MarketPremiums`, each corresponding to a perpetual market.|
+|»» perpetual_id|integer(int64)|false|none|perpetual_id is the Id of the perpetual market.|
+|»» premiums|[integer]|false|none|premiums is a list of premium values for a perpetual market. Since most premiums are zeros under "stable" market conditions, only non-zero values are stored in this list.|
+|» num_premiums|integer(int64)|false|none|number of rounds where premium values were added. This value indicates the total number of premiums (zeros and non-zeros) for each `MarketPremiums` struct. Note that in the edge case a perpetual market was added in the middle of a epoch, we don't keep a seperate count for that market. This means we treat this market as having zero premiums before it was added.|
+
+## dydxprotocol.prices.MarketParam
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "pair": "string",
+ "exponent": 0,
+ "min_exchanges": 0,
+ "min_price_change_ppm": 0,
+ "exchange_config_json": "string"
+}
+
+```
+
+MarketParam represents the x/prices configuration for markets, including
+representing price values, resolving markets on individual exchanges, and
+generating price updates. This configuration is specific to the quote
+currency.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|Unique, sequentially-generated value.|
+|pair|string|false|none|The human-readable name of the market pair (e.g. `BTC-USD`).|
+|exponent|integer(int32)|false|none|Static value. The exponent of the price. For example if `Exponent == -5` then a `Value` of `1,000,000,000` represents ``$10,000`. Therefore `10 ^ Exponent` represents the smallest price step (in dollars) that can be recorded.|
+|min_exchanges|integer(int64)|false|none|The minimum number of exchanges that should be reporting a live price for a price update to be considered valid.|
+|min_price_change_ppm|integer(int64)|false|none|The minimum allowable change in `price` value that would cause a price update on the network. Measured as `1e-6` (parts per million).|
+|exchange_config_json|string|false|none|A string of json that encodes the configuration for resolving the price of this market on various exchanges.|
+
+## dydxprotocol.prices.MarketPrice
+
+
+
+
+
+
+```json
+{
+ "id": 0,
+ "exponent": 0,
+ "price": "string"
+}
+
+```
+
+MarketPrice is used by the application to store/retrieve oracle price.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|integer(int64)|false|none|Unique, sequentially-generated value that matches `MarketParam`.|
+|exponent|integer(int32)|false|none|Static value. The exponent of the price. See the comment on the duplicate MarketParam field for more information.|
+|price|string(uint64)|false|none|The variable value that is updated by oracle price updates. `0` if it has never been updated, `>0` otherwise.|
+
+## dydxprotocol.prices.QueryAllMarketParamsResponse
+
+
+
+
+
+
+```json
+{
+ "market_params": [
+ {
+ "id": 0,
+ "pair": "string",
+ "exponent": 0,
+ "min_exchanges": 0,
+ "min_price_change_ppm": 0,
+ "exchange_config_json": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllMarketParamsResponse is response type for the Query/Params
+`AllMarketParams` RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|market_params|[object]|false|none|none|
+|» id|integer(int64)|false|none|Unique, sequentially-generated value.|
+|» pair|string|false|none|The human-readable name of the market pair (e.g. `BTC-USD`).|
+|» exponent|integer(int32)|false|none|Static value. The exponent of the price. For example if `Exponent == -5` then a `Value` of `1,000,000,000` represents ``$10,000`. Therefore `10 ^ Exponent` represents the smallest price step (in dollars) that can be recorded.|
+|» min_exchanges|integer(int64)|false|none|The minimum number of exchanges that should be reporting a live price for a price update to be considered valid.|
+|» min_price_change_ppm|integer(int64)|false|none|The minimum allowable change in `price` value that would cause a price update on the network. Measured as `1e-6` (parts per million).|
+|» exchange_config_json|string|false|none|A string of json that encodes the configuration for resolving the price of this market on various exchanges.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.prices.QueryAllMarketPricesResponse
+
+
+
+
+
+
+```json
+{
+ "market_prices": [
+ {
+ "id": 0,
+ "exponent": 0,
+ "price": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllMarketPricesResponse is response type for the Query/Params
+`AllMarketPrices` RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|market_prices|[object]|false|none|none|
+|» id|integer(int64)|false|none|Unique, sequentially-generated value that matches `MarketParam`.|
+|» exponent|integer(int32)|false|none|Static value. The exponent of the price. See the comment on the duplicate MarketParam field for more information.|
+|» price|string(uint64)|false|none|The variable value that is updated by oracle price updates. `0` if it has never been updated, `>0` otherwise.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.prices.QueryMarketParamResponse
+
+
+
+
+
+
+```json
+{
+ "market_param": {
+ "id": 0,
+ "pair": "string",
+ "exponent": 0,
+ "min_exchanges": 0,
+ "min_price_change_ppm": 0,
+ "exchange_config_json": "string"
+ }
+}
+
+```
+
+QueryMarketParamResponse is response type for the Query/Params `MarketParams`
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|market_param|object|false|none|MarketParam represents the x/prices configuration for markets, including representing price values, resolving markets on individual exchanges, and generating price updates. This configuration is specific to the quote currency.|
+|» id|integer(int64)|false|none|Unique, sequentially-generated value.|
+|» pair|string|false|none|The human-readable name of the market pair (e.g. `BTC-USD`).|
+|» exponent|integer(int32)|false|none|Static value. The exponent of the price. For example if `Exponent == -5` then a `Value` of `1,000,000,000` represents ``$10,000`. Therefore `10 ^ Exponent` represents the smallest price step (in dollars) that can be recorded.|
+|» min_exchanges|integer(int64)|false|none|The minimum number of exchanges that should be reporting a live price for a price update to be considered valid.|
+|» min_price_change_ppm|integer(int64)|false|none|The minimum allowable change in `price` value that would cause a price update on the network. Measured as `1e-6` (parts per million).|
+|» exchange_config_json|string|false|none|A string of json that encodes the configuration for resolving the price of this market on various exchanges.|
+
+## dydxprotocol.prices.QueryMarketPriceResponse
+
+
+
+
+
+
+```json
+{
+ "market_price": {
+ "id": 0,
+ "exponent": 0,
+ "price": "string"
+ }
+}
+
+```
+
+QueryMarketPriceResponse is response type for the Query/Params `MarketPrice`
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|market_price|object|false|none|MarketPrice is used by the application to store/retrieve oracle price.|
+|» id|integer(int64)|false|none|Unique, sequentially-generated value that matches `MarketParam`.|
+|» exponent|integer(int32)|false|none|Static value. The exponent of the price. See the comment on the duplicate MarketParam field for more information.|
+|» price|string(uint64)|false|none|The variable value that is updated by oracle price updates. `0` if it has never been updated, `>0` otherwise.|
+
+## dydxprotocol.rewards.Params
+
+
+
+
+
+
+```json
+{
+ "treasury_account": "string",
+ "denom": "string",
+ "denom_exponent": 0,
+ "market_id": 0,
+ "fee_multiplier_ppm": 0
+}
+
+```
+
+Params defines the parameters for x/rewards module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|treasury_account|string|false|none|The module account to distribute rewards from.|
+|denom|string|false|none|The denom of the rewards token.|
+|denom_exponent|integer(int32)|false|none|The exponent of converting one unit of `denom` to a full coin. For example, `denom=uatom, denom_exponent=-6` defines that `1 uatom = 10^(-6) ATOM`. This conversion is needed since the `market_id` retrieves the price of a full coin of the reward token.|
+|market_id|integer(int64)|false|none|The id of the market that has the price of the rewards token.|
+|fee_multiplier_ppm|integer(int64)|false|none|The amount (in ppm) that fees are multiplied by to get the maximum rewards amount.|
+
+## dydxprotocol.rewards.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "treasury_account": "string",
+ "denom": "string",
+ "denom_exponent": 0,
+ "market_id": 0,
+ "fee_multiplier_ppm": 0
+ }
+}
+
+```
+
+QueryParamsResponse is a response type for the Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|Params defines the parameters for x/rewards module.|
+|» treasury_account|string|false|none|The module account to distribute rewards from.|
+|» denom|string|false|none|The denom of the rewards token.|
+|» denom_exponent|integer(int32)|false|none|The exponent of converting one unit of `denom` to a full coin. For example, `denom=uatom, denom_exponent=-6` defines that `1 uatom = 10^(-6) ATOM`. This conversion is needed since the `market_id` retrieves the price of a full coin of the reward token.|
+|» market_id|integer(int64)|false|none|The id of the market that has the price of the rewards token.|
+|» fee_multiplier_ppm|integer(int64)|false|none|The amount (in ppm) that fees are multiplied by to get the maximum rewards amount.|
+
+## dydxprotocol.stats.GlobalStats
+
+
+
+
+
+
+```json
+{
+ "notional_traded": "string"
+}
+
+```
+
+GlobalStats stores global stats
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|notional_traded|string(uint64)|false|none|none|
+
+## dydxprotocol.stats.Params
+
+
+
+
+
+
+```json
+{
+ "window_duration": "string"
+}
+
+```
+
+Params defines the parameters for x/stats module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|window_duration|string|false|none|The desired number of seconds in the look-back window.|
+
+## dydxprotocol.stats.QueryGlobalStatsResponse
+
+
+
+
+
+
+```json
+{
+ "stats": {
+ "notional_traded": "string"
+ }
+}
+
+```
+
+QueryGlobalStatsResponse is a response type for the GlobalStats RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|stats|object|false|none|none|
+|» notional_traded|string(uint64)|false|none|none|
+
+## dydxprotocol.stats.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "window_duration": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is a response type for the Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|Params defines the parameters for x/stats module.|
+|» window_duration|string|false|none|The desired number of seconds in the look-back window.|
+
+## dydxprotocol.stats.QueryStatsMetadataResponse
+
+
+
+
+
+
+```json
+{
+ "metadata": {
+ "trailing_epoch": 0
+ }
+}
+
+```
+
+QueryStatsMetadataResponse is a response type for the StatsMetadata RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|metadata|object|false|none|none|
+|» trailing_epoch|integer(int64)|false|none|The oldest epoch that is included in the stats. The next epoch to be removed from the window.|
+
+## dydxprotocol.stats.QueryUserStatsResponse
+
+
+
+
+
+
+```json
+{
+ "stats": {
+ "taker_notional": "string",
+ "maker_notional": "string"
+ }
+}
+
+```
+
+QueryUserStatsResponse is a request type for the UserStats RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|stats|object|false|none|none|
+|» taker_notional|string(uint64)|false|none|none|
+|» maker_notional|string(uint64)|false|none|none|
+
+## dydxprotocol.stats.StatsMetadata
+
+
+
+
+
+
+```json
+{
+ "trailing_epoch": 0
+}
+
+```
+
+StatsMetadata stores metadata for the x/stats module
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|trailing_epoch|integer(int64)|false|none|The oldest epoch that is included in the stats. The next epoch to be removed from the window.|
+
+## dydxprotocol.stats.UserStats
+
+
+
+
+
+
+```json
+{
+ "taker_notional": "string",
+ "maker_notional": "string"
+}
+
+```
+
+UserStats stores stats for a User
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|taker_notional|string(uint64)|false|none|none|
+|maker_notional|string(uint64)|false|none|none|
+
+## dydxprotocol.subaccounts.AssetPosition
+
+
+
+
+
+
+```json
+{
+ "asset_id": 0,
+ "quantums": "string",
+ "index": "string"
+}
+
+```
+
+AssetPositions define an account’s positions of an `Asset`.
+Therefore they hold any information needed to trade on Spot and Margin.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+
+## dydxprotocol.subaccounts.PerpetualPosition
+
+
+
+
+
+
+```json
+{
+ "perpetual_id": 0,
+ "quantums": "string",
+ "funding_index": "string"
+}
+
+```
+
+PerpetualPositions are an account’s positions of a `Perpetual`.
+Therefore they hold any information needed to trade perpetuals.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|quantums|string(byte)|false|none|The size of the position in base quantums.|
+|funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+
+## dydxprotocol.subaccounts.QueryCollateralPoolAddressResponse
+
+
+
+
+
+
+```json
+{
+ "collateral_pool_address": "string"
+}
+
+```
+
+QueryCollateralPoolAddressResponse is a response type for fetching the
+account address of the collateral pool associated with the passed in
+perpetual id.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|collateral_pool_address|string|false|none|none|
+
+## dydxprotocol.subaccounts.QueryGetWithdrawalAndTransfersBlockedInfoResponse
+
+
+
+
+
+
+```json
+{
+ "negative_tnc_subaccount_seen_at_block": 0,
+ "chain_outage_seen_at_block": 0,
+ "withdrawals_and_transfers_unblocked_at_block": 0
+}
+
+```
+
+QueryGetWithdrawalAndTransfersBlockedInfoRequest is a response type for
+fetching information about whether withdrawals and transfers are blocked.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|negative_tnc_subaccount_seen_at_block|integer(int64)|false|none|none|
+|chain_outage_seen_at_block|integer(int64)|false|none|none|
+|withdrawals_and_transfers_unblocked_at_block|integer(int64)|false|none|none|
+
+## dydxprotocol.subaccounts.QuerySubaccountAllResponse
+
+
+
+
+
+
+```json
+{
+ "subaccount": [
+ {
+ "id": {
+ "owner": "string",
+ "number": 0
+ },
+ "asset_positions": [
+ {
+ "asset_id": 0,
+ "quantums": "string",
+ "index": "string"
+ }
+ ],
+ "perpetual_positions": [
+ {
+ "perpetual_id": 0,
+ "quantums": "string",
+ "funding_index": "string"
+ }
+ ],
+ "margin_enabled": true
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QuerySubaccountAllResponse is response type for the Query RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subaccount|[object]|false|none|none|
+|» id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» asset_positions|[object]|false|none|All `AssetPosition`s associated with this subaccount. Always sorted ascending by `asset_id`.|
+|»» asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|»» quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|»» index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+|» perpetual_positions|[object]|false|none|All `PerpetualPosition`s associated with this subaccount. Always sorted ascending by `perpetual_id.|
+|»» perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|»» quantums|string(byte)|false|none|The size of the position in base quantums.|
+|»» funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+|» margin_enabled|boolean|false|none|Set by the owner. If true, then margin trades can be made in this subaccount.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## dydxprotocol.subaccounts.QuerySubaccountResponse
+
+
+
+
+
+
+```json
+{
+ "subaccount": {
+ "id": {
+ "owner": "string",
+ "number": 0
+ },
+ "asset_positions": [
+ {
+ "asset_id": 0,
+ "quantums": "string",
+ "index": "string"
+ }
+ ],
+ "perpetual_positions": [
+ {
+ "perpetual_id": 0,
+ "quantums": "string",
+ "funding_index": "string"
+ }
+ ],
+ "margin_enabled": true
+ }
+}
+
+```
+
+QuerySubaccountResponse is response type for the Query RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subaccount|object|false|none|Subaccount defines a single sub-account for a given address. Subaccounts are uniquely indexed by a subaccountNumber/owner pair.|
+|» id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|»» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|»» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|» asset_positions|[object]|false|none|All `AssetPosition`s associated with this subaccount. Always sorted ascending by `asset_id`.|
+|»» asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|»» quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|»» index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+|» perpetual_positions|[object]|false|none|All `PerpetualPosition`s associated with this subaccount. Always sorted ascending by `perpetual_id.|
+|»» perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|»» quantums|string(byte)|false|none|The size of the position in base quantums.|
+|»» funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+|» margin_enabled|boolean|false|none|Set by the owner. If true, then margin trades can be made in this subaccount.|
+
+## dydxprotocol.subaccounts.Subaccount
+
+
+
+
+
+
+```json
+{
+ "id": {
+ "owner": "string",
+ "number": 0
+ },
+ "asset_positions": [
+ {
+ "asset_id": 0,
+ "quantums": "string",
+ "index": "string"
+ }
+ ],
+ "perpetual_positions": [
+ {
+ "perpetual_id": 0,
+ "quantums": "string",
+ "funding_index": "string"
+ }
+ ],
+ "margin_enabled": true
+}
+
+```
+
+Subaccount defines a single sub-account for a given address.
+Subaccounts are uniquely indexed by a subaccountNumber/owner pair.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|object|false|none|SubaccountId defines a unique identifier for a Subaccount.|
+|» owner|string|false|none|The address of the wallet that owns this subaccount.|
+|» number|integer(int64)|false|none|The unique number of this subaccount for the owner. Currently limited to 128*1000 subaccounts per owner.|
+|asset_positions|[object]|false|none|All `AssetPosition`s associated with this subaccount. Always sorted ascending by `asset_id`.|
+|» asset_id|integer(int64)|false|none|The `Id` of the `Asset`.|
+|» quantums|string(byte)|false|none|The absolute size of the position in base quantums.|
+|» index|string(uint64)|false|none|The `Index` (either `LongIndex` or `ShortIndex`) of the `Asset` the last time this position was settled TODO(DEC-582): pending margin trading being added.|
+|perpetual_positions|[object]|false|none|All `PerpetualPosition`s associated with this subaccount. Always sorted ascending by `perpetual_id.|
+|» perpetual_id|integer(int64)|false|none|The `Id` of the `Perpetual`.|
+|» quantums|string(byte)|false|none|The size of the position in base quantums.|
+|» funding_index|string(byte)|false|none|The funding_index of the `Perpetual` the last time this position was settled.|
+|margin_enabled|boolean|false|none|Set by the owner. If true, then margin trades can be made in this subaccount.|
+
+## dydxprotocol.vest.QueryVestEntryResponse
+
+
+
+
+
+
+```json
+{
+ "entry": {
+ "vester_account": "string",
+ "treasury_account": "string",
+ "denom": "string",
+ "start_time": "2019-08-24T14:15:22Z",
+ "end_time": "2019-08-24T14:15:22Z"
+ }
+}
+
+```
+
+QueryVestEntryResponse is a response type for the VestEntry RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|entry|object|false|none|VestEntry specifies a Vester Account and the rate at which tokens are dripped into the corresponding Treasury Account.|
+|» vester_account|string|false|none|The module account to vest tokens from. This is also the key to this `VestEntry` in state.|
+|» treasury_account|string|false|none|The module account to vest tokens to.|
+|» denom|string|false|none|The denom of the token to vest.|
+|» start_time|string(date-time)|false|none|The start time of vest. Before this time, no vest will occur.|
+|» end_time|string(date-time)|false|none|The end time of vest. At this target date, all funds should be in the Treasury Account and none left in the Vester Account.|
+
+## dydxprotocol.vest.VestEntry
+
+
+
+
+
+
+```json
+{
+ "vester_account": "string",
+ "treasury_account": "string",
+ "denom": "string",
+ "start_time": "2019-08-24T14:15:22Z",
+ "end_time": "2019-08-24T14:15:22Z"
+}
+
+```
+
+VestEntry specifies a Vester Account and the rate at which tokens are
+dripped into the corresponding Treasury Account.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|vester_account|string|false|none|The module account to vest tokens from. This is also the key to this `VestEntry` in state.|
+|treasury_account|string|false|none|The module account to vest tokens to.|
+|denom|string|false|none|The denom of the token to vest.|
+|start_time|string(date-time)|false|none|The start time of vest. Before this time, no vest will occur.|
+|end_time|string(date-time)|false|none|The end time of vest. At this target date, all funds should be in the Treasury Account and none left in the Vester Account.|
+
+## ibc.applications.transfer.v1.DenomTrace
+
+
+
+
+
+
+```json
+{
+ "path": "string",
+ "base_denom": "string"
+}
+
+```
+
+DenomTrace contains the base denomination for ICS20 fungible tokens and the
+source tracing information path.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|path|string|false|none|path defines the chain of port/channel identifiers used for tracing the source of the fungible token.|
+|base_denom|string|false|none|base denomination of the relayed fungible token.|
+
+## ibc.applications.transfer.v1.Params
+
+
+
+
+
+
+```json
+{
+ "send_enabled": true,
+ "receive_enabled": true
+}
+
+```
+
+Params defines the set of IBC transfer parameters.
+NOTE: To prevent a single token from being transferred, set the
+TransfersEnabled parameter to true and then set the bank module's SendEnabled
+parameter for the denomination to false.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|send_enabled|boolean|false|none|send_enabled enables or disables all cross-chain token transfers from this chain.|
+|receive_enabled|boolean|false|none|receive_enabled enables or disables all cross-chain token transfers to this chain.|
+
+## ibc.applications.transfer.v1.QueryDenomHashResponse
+
+
+
+
+
+
+```json
+{
+ "hash": "string"
+}
+
+```
+
+QueryDenomHashResponse is the response type for the Query/DenomHash RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|hash|string|false|none|hash (in hex format) of the denomination trace information.|
+
+## ibc.applications.transfer.v1.QueryDenomTraceResponse
+
+
+
+
+
+
+```json
+{
+ "denom_trace": {
+ "path": "string",
+ "base_denom": "string"
+ }
+}
+
+```
+
+QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom_trace|object|false|none|DenomTrace contains the base denomination for ICS20 fungible tokens and the source tracing information path.|
+|» path|string|false|none|path defines the chain of port/channel identifiers used for tracing the source of the fungible token.|
+|» base_denom|string|false|none|base denomination of the relayed fungible token.|
+
+## ibc.applications.transfer.v1.QueryDenomTracesResponse
+
+
+
+
+
+
+```json
+{
+ "denom_traces": [
+ {
+ "path": "string",
+ "base_denom": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryConnectionsResponse is the response type for the Query/DenomTraces RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom_traces|[object]|false|none|denom_traces returns all denominations trace information.|
+|» path|string|false|none|path defines the chain of port/channel identifiers used for tracing the source of the fungible token.|
+|» base_denom|string|false|none|base denomination of the relayed fungible token.|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## ibc.applications.transfer.v1.QueryEscrowAddressResponse
+
+
+
+
+
+
+```json
+{
+ "escrow_address": "string"
+}
+
+```
+
+QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|escrow_address|string|false|none|none|
+
+## ibc.applications.transfer.v1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "send_enabled": true,
+ "receive_enabled": true
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» send_enabled|boolean|false|none|send_enabled enables or disables all cross-chain token transfers from this chain.|
+|» receive_enabled|boolean|false|none|receive_enabled enables or disables all cross-chain token transfers to this chain.|
+
+## ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse
+
+
+
+
+
+
+```json
+{
+ "amount": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amount|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## ibc.core.client.v1.ConsensusStateWithHeight
+
+
+
+
+
+
+```json
+{
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+ConsensusStateWithHeight defines a consensus state with an additional height
+field.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+|consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## ibc.core.client.v1.Height
+
+
+
+
+
+
+```json
+{
+ "revision_number": "string",
+ "revision_height": "string"
+}
+
+```
+
+Height is a monotonically increasing data type
+that can be compared against another Height for the purposes of updating and
+freezing clients
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|revision_number|string(uint64)|false|none|none|
+|revision_height|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.IdentifiedClientState
+
+
+
+
+
+
+```json
+{
+ "client_id": "string",
+ "client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+IdentifiedClientState defines a client state with an additional client
+identifier field.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_id|string|false|none|none|
+|client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## ibc.core.client.v1.Params
+
+
+
+
+
+
+```json
+{
+ "allowed_clients": [
+ "string"
+ ]
+}
+
+```
+
+Params defines the set of IBC light client parameters.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|allowed_clients|[string]|false|none|allowed_clients defines the list of allowed client state types which can be created and interacted with. If a client type is removed from the allowed clients list, usage of this client will be disabled until it is added again to the list.|
+
+## ibc.core.client.v1.QueryClientParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "allowed_clients": [
+ "string"
+ ]
+ }
+}
+
+```
+
+QueryClientParamsResponse is the response type for the Query/ClientParams RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» allowed_clients|[string]|false|none|allowed_clients defines the list of allowed client state types which can be created and interacted with. If a client type is removed from the allowed clients list, usage of this client will be disabled until it is added again to the list.|
+
+## ibc.core.client.v1.QueryClientStateResponse
+
+
+
+
+
+
+```json
+{
+ "client_state": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryClientStateResponse is the response type for the Query/ClientState RPC
+method. Besides the client state, it includes a proof and the height from
+which the proof was retrieved.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryClientStatesResponse
+
+
+
+
+
+
+```json
+{
+ "client_states": [
+ {
+ "client_id": "string",
+ "client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryClientStatesResponse is the response type for the Query/ClientStates RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_states|[object]|false|none|list of stored ClientStates of the chain.|
+|» client_id|string|false|none|none|
+|» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryClientStatusResponse
+
+
+
+
+
+
+```json
+{
+ "status": "string"
+}
+
+```
+
+QueryClientStatusResponse is the response type for the Query/ClientStatus RPC
+method. It returns the current status of the IBC client.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|status|string|false|none|none|
+
+## ibc.core.client.v1.QueryConsensusStateHeightsResponse
+
+
+
+
+
+
+```json
+{
+ "consensus_state_heights": [
+ {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryConsensusStateHeightsResponse is the response type for the
+Query/ConsensusStateHeights RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|consensus_state_heights|[object]|false|none|none|
+|» Height is a monotonically increasing data type
+that can be compared against another Height for the purposes of updating and
+freezing clients|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryConsensusStateResponse
+
+
+
+
+
+
+```json
+{
+ "consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConsensusStateResponse is the response type for the Query/ConsensusState
+RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryConsensusStatesResponse
+
+
+
+
+
+
+```json
+{
+ "consensus_states": [
+ {
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryConsensusStatesResponse is the response type for the
+Query/ConsensusStates RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|consensus_states|[object]|false|none|none|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+|» consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryUpgradedClientStateResponse
+
+
+
+
+
+
+```json
+{
+ "upgraded_client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryUpgradedClientStateResponse is the response type for the
+Query/UpgradedClientState RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|upgraded_client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## ibc.core.client.v1.QueryUpgradedConsensusStateResponse
+
+
+
+
+
+
+```json
+{
+ "upgraded_consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryUpgradedConsensusStateResponse is the response type for the
+Query/UpgradedConsensusState RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|upgraded_consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## ibc.core.client.v1.QueryVerifyMembershipRequest
+
+
+
+
+
+
+```json
+{
+ "client_id": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "merkle_path": {
+ "key_path": [
+ "string"
+ ]
+ },
+ "value": "string",
+ "time_delay": "string",
+ "block_delay": "string"
+}
+
+```
+
+QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_id|string|false|none|client unique identifier.|
+|proof|string(byte)|false|none|the proof to be verified by the client.|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+|merkle_path|object|false|none|the commitment key path.|
+|» key_path|[string]|false|none|none|
+|value|string(byte)|false|none|the value which is proven.|
+|time_delay|string(uint64)|false|none|none|
+|block_delay|string(uint64)|false|none|none|
+
+## ibc.core.client.v1.QueryVerifyMembershipResponse
+
+
+
+
+
+
+```json
+{
+ "success": true
+}
+
+```
+
+QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|success|boolean|false|none|boolean indicating success or failure of proof verification.|
+
+## ibc.core.commitment.v1.MerklePath
+
+
+
+
+
+
+```json
+{
+ "key_path": [
+ "string"
+ ]
+}
+
+```
+
+MerklePath is the path used to verify commitment proofs, which can be an
+arbitrary structured object (defined by a commitment type).
+MerklePath is represented from root-to-leaf
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|key_path|[string]|false|none|none|
+
+## ibc.core.commitment.v1.MerklePrefix
+
+
+
+
+
+
+```json
+{
+ "key_prefix": "string"
+}
+
+```
+
+MerklePrefix is merkle path prefixed to the key.
+The constructed key from the Path and the key will be append(Path.KeyPath,
+append(Path.KeyPrefix, key...))
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|key_prefix|string(byte)|false|none|none|
+
+## ibc.core.connection.v1.ConnectionEnd
+
+
+
+
+
+
+```json
+{
+ "client_id": "string",
+ "versions": [
+ {
+ "identifier": "string",
+ "features": [
+ "string"
+ ]
+ }
+ ],
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "counterparty": {
+ "client_id": "string",
+ "connection_id": "string",
+ "prefix": {
+ "key_prefix": "string"
+ }
+ },
+ "delay_period": "string"
+}
+
+```
+
+ConnectionEnd defines a stateful object on a chain connected to another
+separate one.
+NOTE: there must only be 2 defined ConnectionEnds to establish
+a connection between two chains.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_id|string|false|none|client associated with this connection.|
+|versions|[object]|false|none|IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection.|
+|» identifier|string|false|none|none|
+|» features|[string]|false|none|none|
+|state|string|false|none|current state of the connection end.|
+|counterparty|object|false|none|counterparty chain associated with this connection.|
+|» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»» key_prefix|string(byte)|false|none|none|
+|delay_period|string(uint64)|false|none|delay period that must pass before a consensus state can be used for packet-verification NOTE: delay period logic is only implemented by some clients.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+## ibc.core.connection.v1.Counterparty
+
+
+
+
+
+
+```json
+{
+ "client_id": "string",
+ "connection_id": "string",
+ "prefix": {
+ "key_prefix": "string"
+ }
+}
+
+```
+
+Counterparty defines the counterparty chain associated with a connection end.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|» key_prefix|string(byte)|false|none|none|
+
+## ibc.core.connection.v1.IdentifiedConnection
+
+
+
+
+
+
+```json
+{
+ "id": "string",
+ "client_id": "string",
+ "versions": [
+ {
+ "identifier": "string",
+ "features": [
+ "string"
+ ]
+ }
+ ],
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "counterparty": {
+ "client_id": "string",
+ "connection_id": "string",
+ "prefix": {
+ "key_prefix": "string"
+ }
+ },
+ "delay_period": "string"
+}
+
+```
+
+IdentifiedConnection defines a connection with additional connection
+identifier field.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|id|string|false|none|connection identifier.|
+|client_id|string|false|none|client associated with this connection.|
+|versions|[object]|false|none|none|
+|» identifier|string|false|none|none|
+|» features|[string]|false|none|none|
+|state|string|false|none|current state of the connection end.|
+|counterparty|object|false|none|counterparty chain associated with this connection.|
+|» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»» key_prefix|string(byte)|false|none|none|
+|delay_period|string(uint64)|false|none|delay period associated with this connection.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+## ibc.core.connection.v1.Params
+
+
+
+
+
+
+```json
+{
+ "max_expected_time_per_block": "string"
+}
+
+```
+
+Params defines the set of Connection parameters.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_expected_time_per_block|string(uint64)|false|none|maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the largest amount of time that the chain might reasonably take to produce the next block under normal operating conditions. A safe choice is 3-5x the expected time per block.|
+
+## ibc.core.connection.v1.QueryClientConnectionsResponse
+
+
+
+
+
+
+```json
+{
+ "connection_paths": [
+ "string"
+ ],
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryClientConnectionsResponse is the response type for the
+Query/ClientConnections RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|connection_paths|[string]|false|none|slice of all the connection paths associated with a client.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.connection.v1.QueryConnectionClientStateResponse
+
+
+
+
+
+
+```json
+{
+ "identified_client_state": {
+ "client_id": "string",
+ "client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConnectionClientStateResponse is the response type for the
+Query/ConnectionClientState RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|identified_client_state|object|false|none|IdentifiedClientState defines a client state with an additional client identifier field.|
+|» client_id|string|false|none|none|
+|» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.connection.v1.QueryConnectionConsensusStateResponse
+
+
+
+
+
+
+```json
+{
+ "consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "client_id": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConnectionConsensusStateResponse is the response type for the
+Query/ConnectionConsensusState RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|client_id|string|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.connection.v1.QueryConnectionParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "max_expected_time_per_block": "string"
+ }
+}
+
+```
+
+QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» max_expected_time_per_block|string(uint64)|false|none|maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the largest amount of time that the chain might reasonably take to produce the next block under normal operating conditions. A safe choice is 3-5x the expected time per block.|
+
+## ibc.core.connection.v1.QueryConnectionResponse
+
+
+
+
+
+
+```json
+{
+ "connection": {
+ "client_id": "string",
+ "versions": [
+ {
+ "identifier": "string",
+ "features": [
+ "string"
+ ]
+ }
+ ],
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "counterparty": {
+ "client_id": "string",
+ "connection_id": "string",
+ "prefix": {
+ "key_prefix": "string"
+ }
+ },
+ "delay_period": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConnectionResponse is the response type for the Query/Connection RPC
+method. Besides the connection end, it includes a proof and the height from
+which the proof was retrieved.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|connection|object|false|none|ConnectionEnd defines a stateful object on a chain connected to another separate one. NOTE: there must only be 2 defined ConnectionEnds to establish a connection between two chains.|
+|» client_id|string|false|none|client associated with this connection.|
+|» versions|[object]|false|none|IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection.|
+|»» identifier|string|false|none|none|
+|»» features|[string]|false|none|none|
+|» state|string|false|none|current state of the connection end.|
+|» counterparty|object|false|none|counterparty chain associated with this connection.|
+|»» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|»» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|»» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»»» key_prefix|string(byte)|false|none|none|
+|» delay_period|string(uint64)|false|none|delay period that must pass before a consensus state can be used for packet-verification NOTE: delay period logic is only implemented by some clients.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+## ibc.core.connection.v1.QueryConnectionsResponse
+
+
+
+
+
+
+```json
+{
+ "connections": [
+ {
+ "id": "string",
+ "client_id": "string",
+ "versions": [
+ {
+ "identifier": "string",
+ "features": [
+ "string"
+ ]
+ }
+ ],
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "counterparty": {
+ "client_id": "string",
+ "connection_id": "string",
+ "prefix": {
+ "key_prefix": "string"
+ }
+ },
+ "delay_period": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConnectionsResponse is the response type for the Query/Connections RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|connections|[object]|false|none|list of stored connections of the chain.|
+|» id|string|false|none|connection identifier.|
+|» client_id|string|false|none|client associated with this connection.|
+|» versions|[object]|false|none|none|
+|»» identifier|string|false|none|none|
+|»» features|[string]|false|none|none|
+|» state|string|false|none|current state of the connection end.|
+|» counterparty|object|false|none|counterparty chain associated with this connection.|
+|»» client_id|string|false|none|identifies the client on the counterparty chain associated with a given connection.|
+|»» connection_id|string|false|none|identifies the connection end on the counterparty chain associated with a given connection.|
+|»» prefix|object|false|none|commitment merkle prefix of the counterparty chain.|
+|»»» key_prefix|string(byte)|false|none|none|
+|» delay_period|string(uint64)|false|none|delay period associated with this connection.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+
+## ibc.core.connection.v1.State
+
+
+
+
+
+
+```json
+"STATE_UNINITIALIZED_UNSPECIFIED"
+
+```
+
+State defines if a connection is in one of the following states:
+INIT, TRYOPEN, OPEN or UNINITIALIZED.
+
+ - STATE_UNINITIALIZED_UNSPECIFIED: Default State
+ - STATE_INIT: A connection end has just started the opening handshake.
+ - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty
+chain.
+ - STATE_OPEN: A connection end has completed the handshake.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|State defines if a connection is in one of the following states: INIT, TRYOPEN, OPEN or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A connection end has just started the opening handshake. - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A connection end has completed the handshake.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|STATE_UNINITIALIZED_UNSPECIFIED|
+|*anonymous*|STATE_INIT|
+|*anonymous*|STATE_TRYOPEN|
+|*anonymous*|STATE_OPEN|
+
+## ibc.core.connection.v1.Version
+
+
+
+
+
+
+```json
+{
+ "identifier": "string",
+ "features": [
+ "string"
+ ]
+}
+
+```
+
+Version defines the versioning scheme used to negotiate the IBC version in
+the connection handshake.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|identifier|string|false|none|none|
+|features|[string]|false|none|none|
+
+## ibc.core.channel.v1.Channel
+
+
+
+
+
+
+```json
+{
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "counterparty": {
+ "port_id": "string",
+ "channel_id": "string"
+ },
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string",
+ "upgrade_sequence": "string"
+}
+
+```
+
+Channel defines pipeline for exactly-once packet delivery between specific
+modules on separate blockchains, which has at least one end capable of
+sending packets and one end capable of receiving packets.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|counterparty|object|false|none|none|
+|» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|» channel_id|string|false|none|none|
+|connection_hops|[string]|false|none|none|
+|version|string|false|none|none|
+|upgrade_sequence|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.Counterparty
+
+
+
+
+
+
+```json
+{
+ "port_id": "string",
+ "channel_id": "string"
+}
+
+```
+
+Counterparty defines a channel end counterparty
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|channel_id|string|false|none|none|
+
+## ibc.core.channel.v1.ErrorReceipt
+
+
+
+
+
+
+```json
+{
+ "sequence": "string",
+ "message": "string"
+}
+
+```
+
+ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the
+upgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the
+next sequence.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|sequence|string(uint64)|false|none|none|
+|message|string|false|none|none|
+
+## ibc.core.channel.v1.IdentifiedChannel
+
+
+
+
+
+
+```json
+{
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "counterparty": {
+ "port_id": "string",
+ "channel_id": "string"
+ },
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string",
+ "port_id": "string",
+ "channel_id": "string",
+ "upgrade_sequence": "string"
+}
+
+```
+
+IdentifiedChannel defines a channel with additional port and channel
+identifier fields.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|counterparty|object|false|none|none|
+|» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|» channel_id|string|false|none|none|
+|connection_hops|[string]|false|none|none|
+|version|string|false|none|none|
+|port_id|string|false|none|none|
+|channel_id|string|false|none|none|
+|upgrade_sequence|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.Order
+
+
+
+
+
+
+```json
+"ORDER_NONE_UNSPECIFIED"
+
+```
+
+Order defines if a channel is ORDERED or UNORDERED
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|Order defines if a channel is ORDERED or UNORDERED|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|Order defines if a channel is ORDERED or UNORDERED|ORDER_NONE_UNSPECIFIED|
+|Order defines if a channel is ORDERED or UNORDERED|ORDER_UNORDERED|
+|Order defines if a channel is ORDERED or UNORDERED|ORDER_ORDERED|
+
+## ibc.core.channel.v1.PacketState
+
+
+
+
+
+
+```json
+{
+ "port_id": "string",
+ "channel_id": "string",
+ "sequence": "string",
+ "data": "string"
+}
+
+```
+
+PacketState defines the generic type necessary to retrieve and store
+packet commitments, acknowledgements, and receipts.
+Caller is responsible for knowing the context necessary to interpret this
+state as a commitment, acknowledgement, or a receipt.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|port_id|string|false|none|channel port identifier.|
+|channel_id|string|false|none|channel unique identifier.|
+|sequence|string(uint64)|false|none|packet sequence.|
+|data|string(byte)|false|none|embedded data that represents packet state.|
+
+## ibc.core.channel.v1.Params
+
+
+
+
+
+
+```json
+{
+ "upgrade_timeout": {
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "timestamp": "string"
+ }
+}
+
+```
+
+Params defines the set of IBC channel parameters.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|upgrade_timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+|» timestamp|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryChannelClientStateResponse
+
+
+
+
+
+
+```json
+{
+ "identified_client_state": {
+ "client_id": "string",
+ "client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryChannelClientStateResponse is the Response type for the
+Query/QueryChannelClientState RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|identified_client_state|object|false|none|IdentifiedClientState defines a client state with an additional client identifier field.|
+|» client_id|string|false|none|none|
+|» client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryChannelConsensusStateResponse
+
+
+
+
+
+
+```json
+{
+ "consensus_state": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "client_id": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryChannelClientStateResponse is the Response type for the
+Query/QueryChannelClientState RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|consensus_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|client_id|string|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryChannelParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "upgrade_timeout": {
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "timestamp": "string"
+ }
+ }
+}
+
+```
+
+QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» upgrade_timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|»» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»» revision_number|string(uint64)|false|none|none|
+|»»» revision_height|string(uint64)|false|none|none|
+|»» timestamp|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryChannelResponse
+
+
+
+
+
+
+```json
+{
+ "channel": {
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "counterparty": {
+ "port_id": "string",
+ "channel_id": "string"
+ },
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string",
+ "upgrade_sequence": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryChannelResponse is the response type for the Query/Channel RPC method.
+Besides the Channel end, it includes a proof and the height from which the
+proof was retrieved.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|channel|object|false|none|Channel defines pipeline for exactly-once packet delivery between specific modules on separate blockchains, which has at least one end capable of sending packets and one end capable of receiving packets.|
+|» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|» counterparty|object|false|none|none|
+|»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»» channel_id|string|false|none|none|
+|» connection_hops|[string]|false|none|none|
+|» version|string|false|none|none|
+|» upgrade_sequence|string(uint64)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.QueryChannelsResponse
+
+
+
+
+
+
+```json
+{
+ "channels": [
+ {
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "counterparty": {
+ "port_id": "string",
+ "channel_id": "string"
+ },
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string",
+ "port_id": "string",
+ "channel_id": "string",
+ "upgrade_sequence": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryChannelsResponse is the response type for the Query/Channels RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|channels|[object]|false|none|list of stored channels of the chain.|
+|» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|» counterparty|object|false|none|none|
+|»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»» channel_id|string|false|none|none|
+|» connection_hops|[string]|false|none|none|
+|» version|string|false|none|none|
+|» port_id|string|false|none|none|
+|» channel_id|string|false|none|none|
+|» upgrade_sequence|string(uint64)|false|none|none|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.QueryConnectionChannelsResponse
+
+
+
+
+
+
+```json
+{
+ "channels": [
+ {
+ "state": "STATE_UNINITIALIZED_UNSPECIFIED",
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "counterparty": {
+ "port_id": "string",
+ "channel_id": "string"
+ },
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string",
+ "port_id": "string",
+ "channel_id": "string",
+ "upgrade_sequence": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryConnectionChannelsResponse is the Response type for the
+Query/QueryConnectionChannels RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|channels|[object]|false|none|list of channels associated with a connection.|
+|» state|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+|» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|» counterparty|object|false|none|none|
+|»» port_id|string|false|none|port on the counterparty chain which owns the other end of the channel.|
+|»» channel_id|string|false|none|none|
+|» connection_hops|[string]|false|none|none|
+|» version|string|false|none|none|
+|» port_id|string|false|none|none|
+|» channel_id|string|false|none|none|
+|» upgrade_sequence|string(uint64)|false|none|none|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|state|STATE_UNINITIALIZED_UNSPECIFIED|
+|state|STATE_INIT|
+|state|STATE_TRYOPEN|
+|state|STATE_OPEN|
+|state|STATE_CLOSED|
+|state|STATE_FLUSHING|
+|state|STATE_FLUSHCOMPLETE|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.QueryNextSequenceReceiveResponse
+
+
+
+
+
+
+```json
+{
+ "next_sequence_receive": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QuerySequenceResponse is the response type for the
+Query/QueryNextSequenceReceiveResponse RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|next_sequence_receive|string(uint64)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryNextSequenceSendResponse
+
+
+
+
+
+
+```json
+{
+ "next_sequence_send": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryNextSequenceSendResponse is the request type for the
+Query/QueryNextSequenceSend RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|next_sequence_send|string(uint64)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryPacketAcknowledgementResponse
+
+
+
+
+
+
+```json
+{
+ "acknowledgement": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryPacketAcknowledgementResponse defines the client query response for a
+packet which also includes a proof and the height from which the
+proof was retrieved
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|acknowledgement|string(byte)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryPacketAcknowledgementsResponse
+
+
+
+
+
+
+```json
+{
+ "acknowledgements": [
+ {
+ "port_id": "string",
+ "channel_id": "string",
+ "sequence": "string",
+ "data": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryPacketAcknowledgemetsResponse is the request type for the
+Query/QueryPacketAcknowledgements RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|acknowledgements|[object]|false|none|none|
+|» port_id|string|false|none|channel port identifier.|
+|» channel_id|string|false|none|channel unique identifier.|
+|» sequence|string(uint64)|false|none|packet sequence.|
+|» data|string(byte)|false|none|embedded data that represents packet state.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryPacketCommitmentResponse
+
+
+
+
+
+
+```json
+{
+ "commitment": "string",
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryPacketCommitmentResponse defines the client query response for a packet
+which also includes a proof and the height from which the proof was
+retrieved
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|commitment|string(byte)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryPacketCommitmentsResponse
+
+
+
+
+
+
+```json
+{
+ "commitments": [
+ {
+ "port_id": "string",
+ "channel_id": "string",
+ "sequence": "string",
+ "data": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryPacketCommitmentsResponse is the request type for the
+Query/QueryPacketCommitments RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|commitments|[object]|false|none|none|
+|» port_id|string|false|none|channel port identifier.|
+|» channel_id|string|false|none|channel unique identifier.|
+|» sequence|string(uint64)|false|none|packet sequence.|
+|» data|string(byte)|false|none|embedded data that represents packet state.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryPacketReceiptResponse
+
+
+
+
+
+
+```json
+{
+ "received": true,
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryPacketReceiptResponse defines the client query response for a packet
+receipt which also includes a proof, and the height from which the proof was
+retrieved
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|received|boolean|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryUnreceivedAcksResponse
+
+
+
+
+
+
+```json
+{
+ "sequences": [
+ "string"
+ ],
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryUnreceivedAcksResponse is the response type for the
+Query/UnreceivedAcks RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|sequences|[string]|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryUnreceivedPacketsResponse
+
+
+
+
+
+
+```json
+{
+ "sequences": [
+ "string"
+ ],
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryUnreceivedPacketsResponse is the response type for the
+Query/UnreceivedPacketCommitments RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|sequences|[string]|false|none|none|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryUpgradeErrorResponse
+
+
+
+
+
+
+```json
+{
+ "error_receipt": {
+ "sequence": "string",
+ "message": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|error_receipt|object|false|none|ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the upgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the next sequence.|
+|» sequence|string(uint64)|false|none|none|
+|» message|string|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.QueryUpgradeResponse
+
+
+
+
+
+
+```json
+{
+ "upgrade": {
+ "fields": {
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string"
+ },
+ "timeout": {
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "timestamp": "string"
+ },
+ "next_sequence_send": "string"
+ },
+ "proof": "string",
+ "proof_height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ }
+}
+
+```
+
+QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|upgrade|object|false|none|Upgrade is a verifiable type which contains the relevant information for an attempted upgrade. It provides the proposed changes to the channel end, the timeout for this upgrade attempt and the next packet sequence which allows the counterparty to efficiently know the highest sequence it has received. The next sequence send is used for pruning and upgrading from unordered to ordered channels.|
+|» fields|object|false|none|UpgradeFields are the fields in a channel end which may be changed during a channel upgrade.|
+|»» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|»» connection_hops|[string]|false|none|none|
+|»» version|string|false|none|none|
+|» timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|»» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»»» revision_number|string(uint64)|false|none|none|
+|»»» revision_height|string(uint64)|false|none|none|
+|»» timestamp|string(uint64)|false|none|none|
+|» next_sequence_send|string(uint64)|false|none|none|
+|proof|string(byte)|false|none|none|
+|proof_height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.State
+
+
+
+
+
+
+```json
+"STATE_UNINITIALIZED_UNSPECIFIED"
+
+```
+
+State defines if a channel is in one of the following states:
+CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
+
+ - STATE_UNINITIALIZED_UNSPECIFIED: Default State
+ - STATE_INIT: A channel has just started the opening handshake.
+ - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
+ - STATE_OPEN: A channel has completed the handshake. Open channels are
+ready to send and receive packets.
+ - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
+packets.
+ - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.
+ - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
- STATE_UNINITIALIZED_UNSPECIFIED: Default State - STATE_INIT: A channel has just started the opening handshake. - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - STATE_OPEN: A channel has completed the handshake. Open channels are ready to send and receive packets. - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive packets. - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets. - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|STATE_UNINITIALIZED_UNSPECIFIED|
+|*anonymous*|STATE_INIT|
+|*anonymous*|STATE_TRYOPEN|
+|*anonymous*|STATE_OPEN|
+|*anonymous*|STATE_CLOSED|
+|*anonymous*|STATE_FLUSHING|
+|*anonymous*|STATE_FLUSHCOMPLETE|
+
+## ibc.core.channel.v1.Timeout
+
+
+
+
+
+
+```json
+{
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "timestamp": "string"
+}
+
+```
+
+Timeout defines an execution deadline structure for 04-channel handlers.
+This includes packet lifecycle handlers as well as the upgrade handshake handlers.
+A valid Timeout contains either one or both of a timestamp and block height (sequence).
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|» revision_number|string(uint64)|false|none|none|
+|» revision_height|string(uint64)|false|none|none|
+|timestamp|string(uint64)|false|none|none|
+
+## ibc.core.channel.v1.Upgrade
+
+
+
+
+
+
+```json
+{
+ "fields": {
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string"
+ },
+ "timeout": {
+ "height": {
+ "revision_number": "string",
+ "revision_height": "string"
+ },
+ "timestamp": "string"
+ },
+ "next_sequence_send": "string"
+}
+
+```
+
+Upgrade is a verifiable type which contains the relevant information
+for an attempted upgrade. It provides the proposed changes to the channel
+end, the timeout for this upgrade attempt and the next packet sequence
+which allows the counterparty to efficiently know the highest sequence it has received.
+The next sequence send is used for pruning and upgrading from unordered to ordered channels.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|fields|object|false|none|UpgradeFields are the fields in a channel end which may be changed during a channel upgrade.|
+|» ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|» connection_hops|[string]|false|none|none|
+|» version|string|false|none|none|
+|timeout|object|false|none|Timeout defines an execution deadline structure for 04-channel handlers. This includes packet lifecycle handlers as well as the upgrade handshake handlers. A valid Timeout contains either one or both of a timestamp and block height (sequence).|
+|» height|object|false|none|Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset|
+|»» revision_number|string(uint64)|false|none|none|
+|»» revision_height|string(uint64)|false|none|none|
+|» timestamp|string(uint64)|false|none|none|
+|next_sequence_send|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## ibc.core.channel.v1.UpgradeFields
+
+
+
+
+
+
+```json
+{
+ "ordering": "ORDER_NONE_UNSPECIFIED",
+ "connection_hops": [
+ "string"
+ ],
+ "version": "string"
+}
+
+```
+
+UpgradeFields are the fields in a channel end which may be changed
+during a channel upgrade.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|ordering|string|false|none|- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in which they were sent. - ORDER_ORDERED: packets are delivered exactly in the order which they were sent|
+|connection_hops|[string]|false|none|none|
+|version|string|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|ordering|ORDER_NONE_UNSPECIFIED|
+|ordering|ORDER_UNORDERED|
+|ordering|ORDER_ORDERED|
+
+## cosmos.auth.v1beta1.AddressBytesToStringResponse
+
+
+
+
+
+
+```json
+{
+ "address_string": "string"
+}
+
+```
+
+AddressBytesToStringResponse is the response type for AddressString rpc method.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address_string|string|false|none|none|
+
+## cosmos.auth.v1beta1.AddressStringToBytesResponse
+
+
+
+
+
+
+```json
+{
+ "address_bytes": "string"
+}
+
+```
+
+AddressStringToBytesResponse is the response type for AddressBytes rpc method.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address_bytes|string(byte)|false|none|none|
+
+## cosmos.auth.v1beta1.BaseAccount
+
+
+
+
+
+
+```json
+{
+ "address": "string",
+ "pub_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "account_number": "string",
+ "sequence": "string"
+}
+
+```
+
+BaseAccount defines a base account type. It contains all the necessary fields
+for basic account functionality. Any custom account type should extend this
+type for additional functionality (e.g. vesting).
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address|string|false|none|none|
+|pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|account_number|string(uint64)|false|none|none|
+|sequence|string(uint64)|false|none|none|
+
+## cosmos.auth.v1beta1.Bech32PrefixResponse
+
+
+
+
+
+
+```json
+{
+ "bech32_prefix": "string"
+}
+
+```
+
+Bech32PrefixResponse is the response type for Bech32Prefix rpc method.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|bech32_prefix|string|false|none|none|
+
+## cosmos.auth.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "max_memo_characters": "string",
+ "tx_sig_limit": "string",
+ "tx_size_cost_per_byte": "string",
+ "sig_verify_cost_ed25519": "string",
+ "sig_verify_cost_secp256k1": "string"
+}
+
+```
+
+Params defines the parameters for the auth module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|max_memo_characters|string(uint64)|false|none|none|
+|tx_sig_limit|string(uint64)|false|none|none|
+|tx_size_cost_per_byte|string(uint64)|false|none|none|
+|sig_verify_cost_ed25519|string(uint64)|false|none|none|
+|sig_verify_cost_secp256k1|string(uint64)|false|none|none|
+
+## cosmos.auth.v1beta1.QueryAccountAddressByIDResponse
+
+
+
+
+
+
+```json
+{
+ "account_address": "string"
+}
+
+```
+
+QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|account_address|string|false|none|none|
+
+## cosmos.auth.v1beta1.QueryAccountInfoResponse
+
+
+
+
+
+
+```json
+{
+ "info": {
+ "address": "string",
+ "pub_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "account_number": "string",
+ "sequence": "string"
+ }
+}
+
+```
+
+QueryAccountInfoResponse is the Query/AccountInfo response type.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|object|false|none|info is the account info which is represented by BaseAccount.|
+|» address|string|false|none|none|
+|» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» account_number|string(uint64)|false|none|none|
+|» sequence|string(uint64)|false|none|none|
+
+## cosmos.auth.v1beta1.QueryAccountResponse
+
+
+
+
+
+
+```json
+{
+ "account": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryAccountResponse is the response type for the Query/Account RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|account|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.auth.v1beta1.QueryAccountsResponse
+
+
+
+
+
+
+```json
+{
+ "accounts": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAccountsResponse is the response type for the Query/Accounts RPC method.
+
+Since: cosmos-sdk 0.43
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|accounts|[object]|false|none|none|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.auth.v1beta1.QueryModuleAccountByNameResponse
+
+
+
+
+
+
+```json
+{
+ "account": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|account|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.auth.v1beta1.QueryModuleAccountsResponse
+
+
+
+
+
+
+```json
+{
+ "accounts": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|accounts|[object]|false|none|none|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.auth.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "max_memo_characters": "string",
+ "tx_sig_limit": "string",
+ "tx_size_cost_per_byte": "string",
+ "sig_verify_cost_ed25519": "string",
+ "sig_verify_cost_secp256k1": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» max_memo_characters|string(uint64)|false|none|none|
+|» tx_sig_limit|string(uint64)|false|none|none|
+|» tx_size_cost_per_byte|string(uint64)|false|none|none|
+|» sig_verify_cost_ed25519|string(uint64)|false|none|none|
+|» sig_verify_cost_secp256k1|string(uint64)|false|none|none|
+
+## cosmos.authz.v1beta1.Grant
+
+
+
+
+
+
+```json
+{
+ "authorization": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "expiration": "2019-08-24T14:15:22Z"
+}
+
+```
+
+Grant gives permissions to execute
+the provide method with expiration time.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|expiration|string(date-time)|false|none|none|
+
+## cosmos.authz.v1beta1.GrantAuthorization
+
+
+
+
+
+
+```json
+{
+ "granter": "string",
+ "grantee": "string",
+ "authorization": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "expiration": "2019-08-24T14:15:22Z"
+}
+
+```
+
+GrantAuthorization extends a grant with both the addresses of the grantee and granter.
+It is used in genesis.proto and query.proto
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|granter|string|false|none|none|
+|grantee|string|false|none|none|
+|authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|expiration|string(date-time)|false|none|none|
+
+## cosmos.authz.v1beta1.QueryGranteeGrantsResponse
+
+
+
+
+
+
+```json
+{
+ "grants": [
+ {
+ "granter": "string",
+ "grantee": "string",
+ "authorization": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "expiration": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|grants|[object]|false|none|grants is a list of grants granted to the grantee.|
+|» GrantAuthorization extends a grant with both the addresses of the grantee and granter.
+It is used in genesis.proto and query.proto|object|false|none|none|
+|»» granter|string|false|none|none|
+|»» grantee|string|false|none|none|
+|»» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» expiration|string(date-time)|false|none|none|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.authz.v1beta1.QueryGranterGrantsResponse
+
+
+
+
+
+
+```json
+{
+ "grants": [
+ {
+ "granter": "string",
+ "grantee": "string",
+ "authorization": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "expiration": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|grants|[object]|false|none|grants is a list of grants granted by the granter.|
+|» GrantAuthorization extends a grant with both the addresses of the grantee and granter.
+It is used in genesis.proto and query.proto|object|false|none|none|
+|»» granter|string|false|none|none|
+|»» grantee|string|false|none|none|
+|»» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» expiration|string(date-time)|false|none|none|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.authz.v1beta1.QueryGrantsResponse
+
+
+
+
+
+
+```json
+{
+ "grants": [
+ {
+ "authorization": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "expiration": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryGrantsResponse is the response type for the Query/Authorizations RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|grants|[object]|false|none|authorizations is a list of grants granted for grantee by granter.|
+|» authorization|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» expiration|string(date-time)|false|none|none|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.DenomOwner
+
+
+
+
+
+
+```json
+{
+ "address": "string",
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+DenomOwner defines structure representing an account that owns or holds a
+particular denominated token. It contains the account address and account
+balance of the denominated token.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address|string|false|none|address defines the address that owns a particular denomination.|
+|balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.bank.v1beta1.DenomUnit
+
+
+
+
+
+
+```json
+{
+ "denom": "string",
+ "exponent": 0,
+ "aliases": [
+ "string"
+ ]
+}
+
+```
+
+DenomUnit represents a struct that describes a given
+denomination unit of the basic token.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|aliases|[string]|false|none|none|
+
+## cosmos.bank.v1beta1.Metadata
+
+
+
+
+
+
+```json
+{
+ "description": "string",
+ "denom_units": [
+ {
+ "denom": "string",
+ "exponent": 0,
+ "aliases": [
+ "string"
+ ]
+ }
+ ],
+ "base": "string",
+ "display": "string",
+ "name": "string",
+ "symbol": "string",
+ "uri": "string",
+ "uri_hash": "string"
+}
+
+```
+
+Metadata represents a struct that describes
+a basic token.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|description|string|false|none|none|
+|denom_units|[object]|false|none|none|
+|» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|» aliases|[string]|false|none|none|
+|base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|name|string|false|none|Since: cosmos-sdk 0.43|
+|symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+
+## cosmos.bank.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "send_enabled": [
+ {
+ "denom": "string",
+ "enabled": true
+ }
+ ],
+ "default_send_enabled": true
+}
+
+```
+
+Params defines the parameters for the bank module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|send_enabled|[object]|false|none|Deprecated: Use of SendEnabled in params is deprecated. For genesis, use the newly added send_enabled field in the genesis object. Storage, lookup, and manipulation of this information is now in the keeper.
As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.|
+|» denom|string|false|none|none|
+|» enabled|boolean|false|none|none|
+|default_send_enabled|boolean|false|none|none|
+
+## cosmos.bank.v1beta1.QueryAllBalancesResponse
+
+
+
+
+
+
+```json
+{
+ "balances": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllBalancesResponse is the response type for the Query/AllBalances RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|balances|[object]|false|none|balances is the balances of all the coins.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.QueryBalanceResponse
+
+
+
+
+
+
+```json
+{
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+QueryBalanceResponse is the response type for the Query/Balance RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse
+
+
+
+
+
+
+```json
+{
+ "metadata": {
+ "description": "string",
+ "denom_units": [
+ {
+ "denom": "string",
+ "exponent": 0,
+ "aliases": [
+ "string"
+ ]
+ }
+ ],
+ "base": "string",
+ "display": "string",
+ "name": "string",
+ "symbol": "string",
+ "uri": "string",
+ "uri_hash": "string"
+ }
+}
+
+```
+
+QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC
+method. Identical with QueryDenomMetadataResponse but receives denom as query string in request.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|metadata|object|false|none|Metadata represents a struct that describes a basic token.|
+|» description|string|false|none|none|
+|» denom_units|[object]|false|none|none|
+|»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»» aliases|[string]|false|none|none|
+|» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|» name|string|false|none|Since: cosmos-sdk 0.43|
+|» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+
+## cosmos.bank.v1beta1.QueryDenomMetadataResponse
+
+
+
+
+
+
+```json
+{
+ "metadata": {
+ "description": "string",
+ "denom_units": [
+ {
+ "denom": "string",
+ "exponent": 0,
+ "aliases": [
+ "string"
+ ]
+ }
+ ],
+ "base": "string",
+ "display": "string",
+ "name": "string",
+ "symbol": "string",
+ "uri": "string",
+ "uri_hash": "string"
+ }
+}
+
+```
+
+QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|metadata|object|false|none|Metadata represents a struct that describes a basic token.|
+|» description|string|false|none|none|
+|» denom_units|[object]|false|none|none|
+|»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»» aliases|[string]|false|none|none|
+|» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|» name|string|false|none|Since: cosmos-sdk 0.43|
+|» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+
+## cosmos.bank.v1beta1.QueryDenomOwnersResponse
+
+
+
+
+
+
+```json
+{
+ "denom_owners": [
+ {
+ "address": "string",
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom_owners|[object]|false|none|none|
+|» address|string|false|none|address defines the address that owns a particular denomination.|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.QueryDenomsMetadataResponse
+
+
+
+
+
+
+```json
+{
+ "metadatas": [
+ {
+ "description": "string",
+ "denom_units": [
+ {
+ "denom": "string",
+ "exponent": 0,
+ "aliases": [
+ "string"
+ ]
+ }
+ ],
+ "base": "string",
+ "display": "string",
+ "name": "string",
+ "symbol": "string",
+ "uri": "string",
+ "uri_hash": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|metadatas|[object]|false|none|metadata provides the client information for all the registered tokens.|
+|» description|string|false|none|none|
+|» denom_units|[object]|false|none|none|
+|»» denom|string|false|none|denom represents the string name of the given denom unit (e.g uatom).|
+|»» exponent|integer(int64)|false|none|exponent represents power of 10 exponent that one must raise the base_denom to in order to equal the given DenomUnit's denom 1 denom = 10^exponent base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom).|
+|»» aliases|[string]|false|none|none|
+|» base|string|false|none|base represents the base denom (should be the DenomUnit with exponent = 0).|
+|» display|string|false|none|display indicates the suggested denom that should be displayed in clients.|
+|» name|string|false|none|Since: cosmos-sdk 0.43|
+|» symbol|string|false|none|symbol is the token symbol usually shown on exchanges (eg: ATOM). This can be the same as the display.
Since: cosmos-sdk 0.43|
+|» uri|string|false|none|URI to a document (on or off-chain) that contains additional information. Optional.
Since: cosmos-sdk 0.46|
+|» uri_hash|string|false|none|URIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional.
Since: cosmos-sdk 0.46|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "send_enabled": [
+ {
+ "denom": "string",
+ "enabled": true
+ }
+ ],
+ "default_send_enabled": true
+ }
+}
+
+```
+
+QueryParamsResponse defines the response type for querying x/bank parameters.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params provides the parameters of the bank module.|
+|» send_enabled|[object]|false|none|Deprecated: Use of SendEnabled in params is deprecated. For genesis, use the newly added send_enabled field in the genesis object. Storage, lookup, and manipulation of this information is now in the keeper.
As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.|
+|»» denom|string|false|none|none|
+|»» enabled|boolean|false|none|none|
+|» default_send_enabled|boolean|false|none|none|
+
+## cosmos.bank.v1beta1.QuerySendEnabledResponse
+
+
+
+
+
+
+```json
+{
+ "send_enabled": [
+ {
+ "denom": "string",
+ "enabled": true
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QuerySendEnabledResponse defines the RPC response of a SendEnable query.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|send_enabled|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» enabled|boolean|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response. This field is only populated if the denoms field in the request is empty.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse
+
+
+
+
+
+
+```json
+{
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+QuerySpendableBalanceByDenomResponse defines the gRPC response structure for
+querying an account's spendable balance for a specific denom.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.bank.v1beta1.QuerySpendableBalancesResponse
+
+
+
+
+
+
+```json
+{
+ "balances": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QuerySpendableBalancesResponse defines the gRPC response structure for querying
+an account's spendable balances.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|balances|[object]|false|none|balances is the spendable balances of all the coins.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.QuerySupplyOfResponse
+
+
+
+
+
+
+```json
+{
+ "amount": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amount|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.bank.v1beta1.QueryTotalSupplyResponse
+
+
+
+
+
+
+```json
+{
+ "supply": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC
+method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|supply|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.
Since: cosmos-sdk 0.43|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.bank.v1beta1.SendEnabled
+
+
+
+
+
+
+```json
+{
+ "denom": "string",
+ "enabled": true
+}
+
+```
+
+SendEnabled maps coin denom to a send_enabled status (whether a denom is
+sendable).
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom|string|false|none|none|
+|enabled|boolean|false|none|none|
+
+## cosmos.base.v1beta1.DecCoin
+
+
+
+
+
+
+```json
+{
+ "denom": "string",
+ "amount": "string"
+}
+
+```
+
+DecCoin defines a token with a denomination and a decimal amount.
+
+NOTE: The amount field is an Dec which implements the custom method
+signatures required by gogoproto.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|denom|string|false|none|none|
+|amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.DelegationDelegatorReward
+
+
+
+
+
+
+```json
+{
+ "validator_address": "string",
+ "reward": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+DelegationDelegatorReward represents the properties
+of a delegator's delegation reward.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validator_address|string|false|none|none|
+|reward|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "community_tax": "string",
+ "base_proposer_reward": "string",
+ "bonus_proposer_reward": "string",
+ "withdraw_addr_enabled": true
+}
+
+```
+
+Params defines the set of params for the distribution module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|community_tax|string|false|none|none|
+|base_proposer_reward|string|false|none|Deprecated: The base_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|bonus_proposer_reward|string|false|none|Deprecated: The bonus_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|withdraw_addr_enabled|boolean|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryCommunityPoolResponse
+
+
+
+
+
+
+```json
+{
+ "pool": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+QueryCommunityPoolResponse is the response type for the Query/CommunityPool
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|pool|[object]|false|none|pool defines community pool's coins.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryDelegationRewardsResponse
+
+
+
+
+
+
+```json
+{
+ "rewards": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+QueryDelegationRewardsResponse is the response type for the
+Query/DelegationRewards RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|rewards|[object]|false|none|rewards defines the rewards accrued by a delegation.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse
+
+
+
+
+
+
+```json
+{
+ "rewards": [
+ {
+ "validator_address": "string",
+ "reward": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+ }
+ ],
+ "total": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+QueryDelegationTotalRewardsResponse is the response type for the
+Query/DelegationTotalRewards RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|rewards|[object]|false|none|rewards defines all the rewards accrued by a delegator.|
+|» validator_address|string|false|none|none|
+|» reward|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|total|[object]|false|none|total defines the sum of all the rewards.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse
+
+
+
+
+
+
+```json
+{
+ "validators": [
+ "string"
+ ]
+}
+
+```
+
+QueryDelegatorValidatorsResponse is the response type for the
+Query/DelegatorValidators RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validators|[string]|false|none|validators defines the validators a delegator is delegating for.|
+
+## cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse
+
+
+
+
+
+
+```json
+{
+ "withdraw_address": "string"
+}
+
+```
+
+QueryDelegatorWithdrawAddressResponse is the response type for the
+Query/DelegatorWithdrawAddress RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|withdraw_address|string|false|none|withdraw_address defines the delegator address to query for.|
+
+## cosmos.distribution.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "community_tax": "string",
+ "base_proposer_reward": "string",
+ "bonus_proposer_reward": "string",
+ "withdraw_addr_enabled": true
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» community_tax|string|false|none|none|
+|» base_proposer_reward|string|false|none|Deprecated: The base_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|» bonus_proposer_reward|string|false|none|Deprecated: The bonus_proposer_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism.|
+|» withdraw_addr_enabled|boolean|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryValidatorCommissionResponse
+
+
+
+
+
+
+```json
+{
+ "commission": {
+ "commission": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+ }
+}
+
+```
+
+QueryValidatorCommissionResponse is the response type for the
+Query/ValidatorCommission RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|commission|object|false|none|commission defines the commission the validator received.|
+|» commission|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse
+
+
+
+
+
+
+```json
+{
+ "operator_address": "string",
+ "self_bond_rewards": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "commission": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|operator_address|string|false|none|operator_address defines the validator operator address.|
+|self_bond_rewards|[object]|false|none|self_bond_rewards defines the self delegations rewards.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|commission|[object]|false|none|commission defines the commission the validator received.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse
+
+
+
+
+
+
+```json
+{
+ "rewards": {
+ "rewards": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+ }
+}
+
+```
+
+QueryValidatorOutstandingRewardsResponse is the response type for the
+Query/ValidatorOutstandingRewards RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|rewards|object|false|none|ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards for a validator inexpensive to track, allows simple sanity checks.|
+|» rewards|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.QueryValidatorSlashesResponse
+
+
+
+
+
+
+```json
+{
+ "slashes": [
+ {
+ "validator_period": "string",
+ "fraction": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryValidatorSlashesResponse is the response type for the
+Query/ValidatorSlashes RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|slashes|[object]|false|none|slashes defines the slashes the validator received.|
+|» validator_period|string(uint64)|false|none|none|
+|» fraction|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.distribution.v1beta1.ValidatorAccumulatedCommission
+
+
+
+
+
+
+```json
+{
+ "commission": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+ValidatorAccumulatedCommission represents accumulated commission
+for a validator kept as a running counter, can be withdrawn at any time.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|commission|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.ValidatorOutstandingRewards
+
+
+
+
+
+
+```json
+{
+ "rewards": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
+for a validator inexpensive to track, allows simple sanity checks.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|rewards|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.distribution.v1beta1.ValidatorSlashEvent
+
+
+
+
+
+
+```json
+{
+ "validator_period": "string",
+ "fraction": "string"
+}
+
+```
+
+ValidatorSlashEvent represents a validator slash event.
+Height is implicit within the store key.
+This is needed to calculate appropriate amount of staking tokens
+for delegations which are withdrawn after a slash has occurred.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validator_period|string(uint64)|false|none|none|
+|fraction|string|false|none|none|
+
+## cosmos.evidence.v1beta1.QueryAllEvidenceResponse
+
+
+
+
+
+
+```json
+{
+ "evidence": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|evidence|[object]|false|none|evidence returns all evidences.|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.evidence.v1beta1.QueryEvidenceResponse
+
+
+
+
+
+
+```json
+{
+ "evidence": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryEvidenceResponse is the response type for the Query/Evidence RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|evidence|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.feegrant.v1beta1.Grant
+
+
+
+
+
+
+```json
+{
+ "granter": "string",
+ "grantee": "string",
+ "allowance": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+Grant is stored in the KVStore to record a grant with full context
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.feegrant.v1beta1.QueryAllowanceResponse
+
+
+
+
+
+
+```json
+{
+ "allowance": {
+ "granter": "string",
+ "grantee": "string",
+ "allowance": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+}
+
+```
+
+QueryAllowanceResponse is the response type for the Query/Allowance RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|allowance|object|false|none|allowance is a allowance granted for grantee by granter.|
+|» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse
+
+
+
+
+
+
+```json
+{
+ "allowances": [
+ {
+ "granter": "string",
+ "grantee": "string",
+ "allowance": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|allowances|[object]|false|none|allowances that have been issued by the granter.|
+|» Grant is stored in the KVStore to record a grant with full context|object|false|none|none|
+|»» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|»» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|»» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.feegrant.v1beta1.QueryAllowancesResponse
+
+
+
+
+
+
+```json
+{
+ "allowances": [
+ {
+ "granter": "string",
+ "grantee": "string",
+ "allowance": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryAllowancesResponse is the response type for the Query/Allowances RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|allowances|[object]|false|none|allowances are allowance's granted for grantee by granter.|
+|» Grant is stored in the KVStore to record a grant with full context|object|false|none|none|
+|»» granter|string|false|none|granter is the address of the user granting an allowance of their funds.|
+|»» grantee|string|false|none|grantee is the address of the user being granted an allowance of another user's funds.|
+|»» allowance|object|false|none|allowance can be any of basic, periodic, allowed fee allowance.|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.gov.v1beta1.Deposit
+
+
+
+
+
+
+```json
+{
+ "proposal_id": "string",
+ "depositor": "string",
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+}
+
+```
+
+Deposit defines an amount deposited by an account address to an active
+proposal.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|depositor|string|false|none|depositor defines the deposit addresses from the proposals.|
+|amount|[object]|false|none|amount to be deposited by depositor.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.gov.v1beta1.DepositParams
+
+
+
+
+
+
+```json
+{
+ "min_deposit": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "max_deposit_period": "string"
+}
+
+```
+
+DepositParams defines the params for deposits on governance proposals.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|min_deposit|[object]|false|none|Minimum deposit for a proposal to enter voting period.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|max_deposit_period|string|false|none|Maximum period for Atom holders to deposit on a proposal. Initial value: 2 months.|
+
+## cosmos.gov.v1beta1.Proposal
+
+
+
+
+
+
+```json
+{
+ "proposal_id": "string",
+ "content": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "status": "PROPOSAL_STATUS_UNSPECIFIED",
+ "final_tally_result": {
+ "yes": "string",
+ "abstain": "string",
+ "no": "string",
+ "no_with_veto": "string"
+ },
+ "submit_time": "2019-08-24T14:15:22Z",
+ "deposit_end_time": "2019-08-24T14:15:22Z",
+ "total_deposit": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "voting_start_time": "2019-08-24T14:15:22Z",
+ "voting_end_time": "2019-08-24T14:15:22Z"
+}
+
+```
+
+Proposal defines the core field members of a governance proposal.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|content|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|status|string|false|none|status defines the proposal status.|
+|final_tally_result|object|false|none|final_tally_result is the final tally result of the proposal. When querying a proposal via gRPC, this field is not populated until the proposal's voting period has ended.|
+|» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|» no|string|false|none|no is the number of no votes on a proposal.|
+|» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+|submit_time|string(date-time)|false|none|submit_time is the time of proposal submission.|
+|deposit_end_time|string(date-time)|false|none|deposit_end_time is the end time for deposition.|
+|total_deposit|[object]|false|none|total_deposit is the total deposit on the proposal.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|voting_start_time|string(date-time)|false|none|voting_start_time is the starting time to vote on a proposal.|
+|voting_end_time|string(date-time)|false|none|voting_end_time is the end time of voting on a proposal.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|PROPOSAL_STATUS_UNSPECIFIED|
+|status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|status|PROPOSAL_STATUS_VOTING_PERIOD|
+|status|PROPOSAL_STATUS_PASSED|
+|status|PROPOSAL_STATUS_REJECTED|
+|status|PROPOSAL_STATUS_FAILED|
+
+## cosmos.gov.v1beta1.ProposalStatus
+
+
+
+
+
+
+```json
+"PROPOSAL_STATUS_UNSPECIFIED"
+
+```
+
+ProposalStatus enumerates the valid statuses of a proposal.
+
+ - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.
+ - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
+period.
+ - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
+period.
+ - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
+passed.
+ - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
+been rejected.
+ - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
+failed.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|ProposalStatus enumerates the valid statuses of a proposal.
- PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit period. - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting period. - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has passed. - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has been rejected. - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has failed.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|PROPOSAL_STATUS_UNSPECIFIED|
+|*anonymous*|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|*anonymous*|PROPOSAL_STATUS_VOTING_PERIOD|
+|*anonymous*|PROPOSAL_STATUS_PASSED|
+|*anonymous*|PROPOSAL_STATUS_REJECTED|
+|*anonymous*|PROPOSAL_STATUS_FAILED|
+
+## cosmos.gov.v1beta1.QueryDepositResponse
+
+
+
+
+
+
+```json
+{
+ "deposit": {
+ "proposal_id": "string",
+ "depositor": "string",
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+ }
+}
+
+```
+
+QueryDepositResponse is the response type for the Query/Deposit RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|deposit|object|false|none|Deposit defines an amount deposited by an account address to an active proposal.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» depositor|string|false|none|depositor defines the deposit addresses from the proposals.|
+|» amount|[object]|false|none|amount to be deposited by depositor.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+## cosmos.gov.v1beta1.QueryDepositsResponse
+
+
+
+
+
+
+```json
+{
+ "deposits": [
+ {
+ "proposal_id": "string",
+ "depositor": "string",
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryDepositsResponse is the response type for the Query/Deposits RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|deposits|[object]|false|none|deposits defines the requested deposits.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» depositor|string|false|none|depositor defines the deposit addresses from the proposals.|
+|» amount|[object]|false|none|amount to be deposited by depositor.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.gov.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "voting_params": {
+ "voting_period": "string"
+ },
+ "deposit_params": {
+ "min_deposit": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "max_deposit_period": "string"
+ },
+ "tally_params": {
+ "quorum": "string",
+ "threshold": "string",
+ "veto_threshold": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|voting_params|object|false|none|voting_params defines the parameters related to voting.|
+|» voting_period|string|false|none|Duration of the voting period.|
+|deposit_params|object|false|none|deposit_params defines the parameters related to deposit.|
+|» min_deposit|[object]|false|none|Minimum deposit for a proposal to enter voting period.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» max_deposit_period|string|false|none|Maximum period for Atom holders to deposit on a proposal. Initial value: 2 months.|
+|tally_params|object|false|none|tally_params defines the parameters related to tally.|
+|» quorum|string(byte)|false|none|Minimum percentage of total stake needed to vote for a result to be considered valid.|
+|» threshold|string(byte)|false|none|Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.|
+|» veto_threshold|string(byte)|false|none|Minimum value of Veto votes to Total votes ratio for proposal to be vetoed. Default value: 1/3.|
+
+## cosmos.gov.v1beta1.QueryProposalResponse
+
+
+
+
+
+
+```json
+{
+ "proposal": {
+ "proposal_id": "string",
+ "content": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "status": "PROPOSAL_STATUS_UNSPECIFIED",
+ "final_tally_result": {
+ "yes": "string",
+ "abstain": "string",
+ "no": "string",
+ "no_with_veto": "string"
+ },
+ "submit_time": "2019-08-24T14:15:22Z",
+ "deposit_end_time": "2019-08-24T14:15:22Z",
+ "total_deposit": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "voting_start_time": "2019-08-24T14:15:22Z",
+ "voting_end_time": "2019-08-24T14:15:22Z"
+ }
+}
+
+```
+
+QueryProposalResponse is the response type for the Query/Proposal RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|proposal|object|false|none|Proposal defines the core field members of a governance proposal.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» content|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» status|string|false|none|status defines the proposal status.|
+|» final_tally_result|object|false|none|final_tally_result is the final tally result of the proposal. When querying a proposal via gRPC, this field is not populated until the proposal's voting period has ended.|
+|»» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|»» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|»» no|string|false|none|no is the number of no votes on a proposal.|
+|»» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+|» submit_time|string(date-time)|false|none|submit_time is the time of proposal submission.|
+|» deposit_end_time|string(date-time)|false|none|deposit_end_time is the end time for deposition.|
+|» total_deposit|[object]|false|none|total_deposit is the total deposit on the proposal.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» voting_start_time|string(date-time)|false|none|voting_start_time is the starting time to vote on a proposal.|
+|» voting_end_time|string(date-time)|false|none|voting_end_time is the end time of voting on a proposal.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|PROPOSAL_STATUS_UNSPECIFIED|
+|status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|status|PROPOSAL_STATUS_VOTING_PERIOD|
+|status|PROPOSAL_STATUS_PASSED|
+|status|PROPOSAL_STATUS_REJECTED|
+|status|PROPOSAL_STATUS_FAILED|
+
+## cosmos.gov.v1beta1.QueryProposalsResponse
+
+
+
+
+
+
+```json
+{
+ "proposals": [
+ {
+ "proposal_id": "string",
+ "content": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "status": "PROPOSAL_STATUS_UNSPECIFIED",
+ "final_tally_result": {
+ "yes": "string",
+ "abstain": "string",
+ "no": "string",
+ "no_with_veto": "string"
+ },
+ "submit_time": "2019-08-24T14:15:22Z",
+ "deposit_end_time": "2019-08-24T14:15:22Z",
+ "total_deposit": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "voting_start_time": "2019-08-24T14:15:22Z",
+ "voting_end_time": "2019-08-24T14:15:22Z"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryProposalsResponse is the response type for the Query/Proposals RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|proposals|[object]|false|none|proposals defines all the requested governance proposals.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» content|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» status|string|false|none|status defines the proposal status.|
+|» final_tally_result|object|false|none|final_tally_result is the final tally result of the proposal. When querying a proposal via gRPC, this field is not populated until the proposal's voting period has ended.|
+|»» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|»» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|»» no|string|false|none|no is the number of no votes on a proposal.|
+|»» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+|» submit_time|string(date-time)|false|none|submit_time is the time of proposal submission.|
+|» deposit_end_time|string(date-time)|false|none|deposit_end_time is the end time for deposition.|
+|» total_deposit|[object]|false|none|total_deposit is the total deposit on the proposal.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» voting_start_time|string(date-time)|false|none|voting_start_time is the starting time to vote on a proposal.|
+|» voting_end_time|string(date-time)|false|none|voting_end_time is the end time of voting on a proposal.|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|PROPOSAL_STATUS_UNSPECIFIED|
+|status|PROPOSAL_STATUS_DEPOSIT_PERIOD|
+|status|PROPOSAL_STATUS_VOTING_PERIOD|
+|status|PROPOSAL_STATUS_PASSED|
+|status|PROPOSAL_STATUS_REJECTED|
+|status|PROPOSAL_STATUS_FAILED|
+
+## cosmos.gov.v1beta1.QueryTallyResultResponse
+
+
+
+
+
+
+```json
+{
+ "tally": {
+ "yes": "string",
+ "abstain": "string",
+ "no": "string",
+ "no_with_veto": "string"
+ }
+}
+
+```
+
+QueryTallyResultResponse is the response type for the Query/Tally RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tally|object|false|none|tally defines the requested tally.|
+|» yes|string|false|none|yes is the number of yes votes on a proposal.|
+|» abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|» no|string|false|none|no is the number of no votes on a proposal.|
+|» no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+
+## cosmos.gov.v1beta1.QueryVoteResponse
+
+
+
+
+
+
+```json
+{
+ "vote": {
+ "proposal_id": "string",
+ "voter": "string",
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "options": [
+ {
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "weight": "string"
+ }
+ ]
+ }
+}
+
+```
+
+QueryVoteResponse is the response type for the Query/Vote RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|vote|object|false|none|Vote defines a vote on a governance proposal. A Vote consists of a proposal ID, the voter, and the vote option.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» voter|string|false|none|voter is the voter address of the proposal.|
+|» option|string|false|none|Deprecated: Prefer to use `options` instead. This field is set in queries if and only if `len(options) == 1` and that option has weight 1. In all other cases, this field will default to VOTE_OPTION_UNSPECIFIED.|
+|» options|[object]|false|none|options is the weighted vote options.
Since: cosmos-sdk 0.43|
+|»» option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|»» weight|string|false|none|weight is the vote weight associated with the vote option.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+## cosmos.gov.v1beta1.QueryVotesResponse
+
+
+
+
+
+
+```json
+{
+ "votes": [
+ {
+ "proposal_id": "string",
+ "voter": "string",
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "options": [
+ {
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "weight": "string"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryVotesResponse is the response type for the Query/Votes RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|votes|[object]|false|none|votes defines the queried votes.|
+|» proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|» voter|string|false|none|voter is the voter address of the proposal.|
+|» option|string|false|none|Deprecated: Prefer to use `options` instead. This field is set in queries if and only if `len(options) == 1` and that option has weight 1. In all other cases, this field will default to VOTE_OPTION_UNSPECIFIED.|
+|» options|[object]|false|none|options is the weighted vote options.
Since: cosmos-sdk 0.43|
+|»» option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|»» weight|string|false|none|weight is the vote weight associated with the vote option.|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+## cosmos.gov.v1beta1.TallyParams
+
+
+
+
+
+
+```json
+{
+ "quorum": "string",
+ "threshold": "string",
+ "veto_threshold": "string"
+}
+
+```
+
+TallyParams defines the params for tallying votes on governance proposals.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|quorum|string(byte)|false|none|Minimum percentage of total stake needed to vote for a result to be considered valid.|
+|threshold|string(byte)|false|none|Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.|
+|veto_threshold|string(byte)|false|none|Minimum value of Veto votes to Total votes ratio for proposal to be vetoed. Default value: 1/3.|
+
+## cosmos.gov.v1beta1.TallyResult
+
+
+
+
+
+
+```json
+{
+ "yes": "string",
+ "abstain": "string",
+ "no": "string",
+ "no_with_veto": "string"
+}
+
+```
+
+TallyResult defines a standard tally for a governance proposal.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|yes|string|false|none|yes is the number of yes votes on a proposal.|
+|abstain|string|false|none|abstain is the number of abstain votes on a proposal.|
+|no|string|false|none|no is the number of no votes on a proposal.|
+|no_with_veto|string|false|none|no_with_veto is the number of no with veto votes on a proposal.|
+
+## cosmos.gov.v1beta1.Vote
+
+
+
+
+
+
+```json
+{
+ "proposal_id": "string",
+ "voter": "string",
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "options": [
+ {
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "weight": "string"
+ }
+ ]
+}
+
+```
+
+Vote defines a vote on a governance proposal.
+A Vote consists of a proposal ID, the voter, and the vote option.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|proposal_id|string(uint64)|false|none|proposal_id defines the unique id of the proposal.|
+|voter|string|false|none|voter is the voter address of the proposal.|
+|option|string|false|none|Deprecated: Prefer to use `options` instead. This field is set in queries if and only if `len(options) == 1` and that option has weight 1. In all other cases, this field will default to VOTE_OPTION_UNSPECIFIED.|
+|options|[object]|false|none|options is the weighted vote options.
Since: cosmos-sdk 0.43|
+|» option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|» weight|string|false|none|weight is the vote weight associated with the vote option.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+## cosmos.gov.v1beta1.VoteOption
+
+
+
+
+
+
+```json
+"VOTE_OPTION_UNSPECIFIED"
+
+```
+
+VoteOption enumerates the valid vote options for a given governance proposal.
+
+ - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
+ - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
+ - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
+ - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
+ - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|VoteOption enumerates the valid vote options for a given governance proposal.
- VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|VOTE_OPTION_UNSPECIFIED|
+|*anonymous*|VOTE_OPTION_YES|
+|*anonymous*|VOTE_OPTION_ABSTAIN|
+|*anonymous*|VOTE_OPTION_NO|
+|*anonymous*|VOTE_OPTION_NO_WITH_VETO|
+
+## cosmos.gov.v1beta1.VotingParams
+
+
+
+
+
+
+```json
+{
+ "voting_period": "string"
+}
+
+```
+
+VotingParams defines the params for voting on governance proposals.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|voting_period|string|false|none|Duration of the voting period.|
+
+## cosmos.gov.v1beta1.WeightedVoteOption
+
+
+
+
+
+
+```json
+{
+ "option": "VOTE_OPTION_UNSPECIFIED",
+ "weight": "string"
+}
+
+```
+
+WeightedVoteOption defines a unit of vote for vote split.
+
+Since: cosmos-sdk 0.43
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|option|string|false|none|option defines the valid vote options, it must not contain duplicate vote options.|
+|weight|string|false|none|weight is the vote weight associated with the vote option.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|option|VOTE_OPTION_UNSPECIFIED|
+|option|VOTE_OPTION_YES|
+|option|VOTE_OPTION_ABSTAIN|
+|option|VOTE_OPTION_NO|
+|option|VOTE_OPTION_NO_WITH_VETO|
+
+## cosmos.mint.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "mint_denom": "string",
+ "inflation_rate_change": "string",
+ "inflation_max": "string",
+ "inflation_min": "string",
+ "goal_bonded": "string",
+ "blocks_per_year": "string"
+}
+
+```
+
+Params defines the parameters for the x/mint module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|mint_denom|string|false|none|none|
+|inflation_rate_change|string|false|none|none|
+|inflation_max|string|false|none|none|
+|inflation_min|string|false|none|none|
+|goal_bonded|string|false|none|none|
+|blocks_per_year|string(uint64)|false|none|none|
+
+## cosmos.mint.v1beta1.QueryAnnualProvisionsResponse
+
+
+
+
+
+
+```json
+{
+ "annual_provisions": "string"
+}
+
+```
+
+QueryAnnualProvisionsResponse is the response type for the
+Query/AnnualProvisions RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|annual_provisions|string(byte)|false|none|annual_provisions is the current minting annual provisions value.|
+
+## cosmos.mint.v1beta1.QueryInflationResponse
+
+
+
+
+
+
+```json
+{
+ "inflation": "string"
+}
+
+```
+
+QueryInflationResponse is the response type for the Query/Inflation RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|inflation|string(byte)|false|none|inflation is the current minting inflation value.|
+
+## cosmos.mint.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "mint_denom": "string",
+ "inflation_rate_change": "string",
+ "inflation_max": "string",
+ "inflation_min": "string",
+ "goal_bonded": "string",
+ "blocks_per_year": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params defines the parameters of the module.|
+|» mint_denom|string|false|none|none|
+|» inflation_rate_change|string|false|none|none|
+|» inflation_max|string|false|none|none|
+|» inflation_min|string|false|none|none|
+|» goal_bonded|string|false|none|none|
+|» blocks_per_year|string(uint64)|false|none|none|
+
+## cosmos.params.v1beta1.ParamChange
+
+
+
+
+
+
+```json
+{
+ "subspace": "string",
+ "key": "string",
+ "value": "string"
+}
+
+```
+
+ParamChange defines an individual parameter change, for use in
+ParameterChangeProposal.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subspace|string|false|none|none|
+|key|string|false|none|none|
+|value|string|false|none|none|
+
+## cosmos.params.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "param": {
+ "subspace": "string",
+ "key": "string",
+ "value": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|param|object|false|none|param defines the queried parameter.|
+|» subspace|string|false|none|none|
+|» key|string|false|none|none|
+|» value|string|false|none|none|
+
+## cosmos.params.v1beta1.QuerySubspacesResponse
+
+
+
+
+
+
+```json
+{
+ "subspaces": [
+ {
+ "subspace": "string",
+ "keys": [
+ "string"
+ ]
+ }
+ ]
+}
+
+```
+
+QuerySubspacesResponse defines the response types for querying for all
+registered subspaces and all keys for a subspace.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subspaces|[object]|false|none|none|
+|» subspace|string|false|none|none|
+|» keys|[string]|false|none|none|
+
+## cosmos.params.v1beta1.Subspace
+
+
+
+
+
+
+```json
+{
+ "subspace": "string",
+ "keys": [
+ "string"
+ ]
+}
+
+```
+
+Subspace defines a parameter subspace name and all the keys that exist for
+the subspace.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|subspace|string|false|none|none|
+|keys|[string]|false|none|none|
+
+## cosmos.slashing.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "signed_blocks_window": "string",
+ "min_signed_per_window": "string",
+ "downtime_jail_duration": "string",
+ "slash_fraction_double_sign": "string",
+ "slash_fraction_downtime": "string"
+}
+
+```
+
+Params represents the parameters used for by the slashing module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|signed_blocks_window|string(int64)|false|none|none|
+|min_signed_per_window|string(byte)|false|none|none|
+|downtime_jail_duration|string|false|none|none|
+|slash_fraction_double_sign|string(byte)|false|none|none|
+|slash_fraction_downtime|string(byte)|false|none|none|
+
+## cosmos.slashing.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "signed_blocks_window": "string",
+ "min_signed_per_window": "string",
+ "downtime_jail_duration": "string",
+ "slash_fraction_double_sign": "string",
+ "slash_fraction_downtime": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is the response type for the Query/Params RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|Params represents the parameters used for by the slashing module.|
+|» signed_blocks_window|string(int64)|false|none|none|
+|» min_signed_per_window|string(byte)|false|none|none|
+|» downtime_jail_duration|string|false|none|none|
+|» slash_fraction_double_sign|string(byte)|false|none|none|
+|» slash_fraction_downtime|string(byte)|false|none|none|
+
+## cosmos.slashing.v1beta1.QuerySigningInfoResponse
+
+
+
+
+
+
+```json
+{
+ "val_signing_info": {
+ "address": "string",
+ "start_height": "string",
+ "index_offset": "string",
+ "jailed_until": "2019-08-24T14:15:22Z",
+ "tombstoned": true,
+ "missed_blocks_counter": "string"
+ }
+}
+
+```
+
+QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC
+method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|val_signing_info|object|false|none|ValidatorSigningInfo defines a validator's signing info for monitoring their liveness activity.|
+|» address|string|false|none|none|
+|» start_height|string(int64)|false|none|none|
+|» index_offset|string(int64)|false|none|Index which is incremented every time a validator is bonded in a block and _may_ have signed a pre-commit or not. This in conjunction with the signed_blocks_window param determines the index in the missed block bitmap.|
+|» jailed_until|string(date-time)|false|none|Timestamp until which the validator is jailed due to liveness downtime.|
+|» tombstoned|boolean|false|none|Whether or not a validator has been tombstoned (killed out of validator set). It is set once the validator commits an equivocation or for any other configured misbehavior.|
+|» missed_blocks_counter|string(int64)|false|none|A counter of missed (unsigned) blocks. It is used to avoid unnecessary reads in the missed block bitmap.|
+
+## cosmos.slashing.v1beta1.QuerySigningInfosResponse
+
+
+
+
+
+
+```json
+{
+ "info": [
+ {
+ "address": "string",
+ "start_height": "string",
+ "index_offset": "string",
+ "jailed_until": "2019-08-24T14:15:22Z",
+ "tombstoned": true,
+ "missed_blocks_counter": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC
+method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|info|[object]|false|none|none|
+|» address|string|false|none|none|
+|» start_height|string(int64)|false|none|none|
+|» index_offset|string(int64)|false|none|Index which is incremented every time a validator is bonded in a block and _may_ have signed a pre-commit or not. This in conjunction with the signed_blocks_window param determines the index in the missed block bitmap.|
+|» jailed_until|string(date-time)|false|none|Timestamp until which the validator is jailed due to liveness downtime.|
+|» tombstoned|boolean|false|none|Whether or not a validator has been tombstoned (killed out of validator set). It is set once the validator commits an equivocation or for any other configured misbehavior.|
+|» missed_blocks_counter|string(int64)|false|none|A counter of missed (unsigned) blocks. It is used to avoid unnecessary reads in the missed block bitmap.|
+|pagination|object|false|none|PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.
message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.slashing.v1beta1.ValidatorSigningInfo
+
+
+
+
+
+
+```json
+{
+ "address": "string",
+ "start_height": "string",
+ "index_offset": "string",
+ "jailed_until": "2019-08-24T14:15:22Z",
+ "tombstoned": true,
+ "missed_blocks_counter": "string"
+}
+
+```
+
+ValidatorSigningInfo defines a validator's signing info for monitoring their
+liveness activity.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address|string|false|none|none|
+|start_height|string(int64)|false|none|none|
+|index_offset|string(int64)|false|none|Index which is incremented every time a validator is bonded in a block and _may_ have signed a pre-commit or not. This in conjunction with the signed_blocks_window param determines the index in the missed block bitmap.|
+|jailed_until|string(date-time)|false|none|Timestamp until which the validator is jailed due to liveness downtime.|
+|tombstoned|boolean|false|none|Whether or not a validator has been tombstoned (killed out of validator set). It is set once the validator commits an equivocation or for any other configured misbehavior.|
+|missed_blocks_counter|string(int64)|false|none|A counter of missed (unsigned) blocks. It is used to avoid unnecessary reads in the missed block bitmap.|
+
+## cosmos.staking.v1beta1.BondStatus
+
+
+
+
+
+
+```json
+"BOND_STATUS_UNSPECIFIED"
+
+```
+
+BondStatus is the status of a validator.
+
+ - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.
+ - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.
+ - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.
+ - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|BondStatus is the status of a validator.
- BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|BOND_STATUS_UNSPECIFIED|
+|*anonymous*|BOND_STATUS_UNBONDED|
+|*anonymous*|BOND_STATUS_UNBONDING|
+|*anonymous*|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.Commission
+
+
+
+
+
+
+```json
+{
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+}
+
+```
+
+Commission defines commission parameters for a given validator.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+
+## cosmos.staking.v1beta1.CommissionRates
+
+
+
+
+
+
+```json
+{
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+}
+
+```
+
+CommissionRates defines the initial commission rates to be used for creating
+a validator.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+
+## cosmos.staking.v1beta1.Delegation
+
+
+
+
+
+
+```json
+{
+ "delegator_address": "string",
+ "validator_address": "string",
+ "shares": "string"
+}
+
+```
+
+Delegation represents the bond with tokens held by an account. It is
+owned by one delegator, and is associated with the voting power of one
+validator.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|shares|string|false|none|shares define the delegation shares received.|
+
+## cosmos.staking.v1beta1.DelegationResponse
+
+
+
+
+
+
+```json
+{
+ "delegation": {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "shares": "string"
+ },
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+}
+
+```
+
+DelegationResponse is equivalent to Delegation except that it contains a
+balance in addition to shares which is more suitable for client responses.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|» shares|string|false|none|shares define the delegation shares received.|
+|balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+
+## cosmos.staking.v1beta1.Description
+
+
+
+
+
+
+```json
+{
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+}
+
+```
+
+Description defines a validator description.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|website|string|false|none|website defines an optional website link.|
+|security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|details|string|false|none|details define other optional details.|
+
+## cosmos.staking.v1beta1.HistoricalInfo
+
+
+
+
+
+
+```json
+{
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "valset": [
+ {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+ ]
+}
+
+```
+
+HistoricalInfo contains header and validator information for a given block.
+It is stored as part of staking module's state, which persists the `n` most
+recent HistoricalInfo
+(`n` is set by the staking module's `historical_entries` parameter).
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|header|object|false|none|Header defines the structure of a block header.|
+|» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»» block|string(uint64)|false|none|none|
+|»» app|string(uint64)|false|none|none|
+|» chain_id|string|false|none|none|
+|» height|string(int64)|false|none|none|
+|» time|string(date-time)|false|none|none|
+|» last_block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» last_commit_hash|string(byte)|false|none|none|
+|» data_hash|string(byte)|false|none|none|
+|» validators_hash|string(byte)|false|none|none|
+|» next_validators_hash|string(byte)|false|none|none|
+|» consensus_hash|string(byte)|false|none|none|
+|» app_hash|string(byte)|false|none|none|
+|» last_results_hash|string(byte)|false|none|none|
+|» evidence_hash|string(byte)|false|none|none|
+|» proposer_address|string(byte)|false|none|none|
+|valset|[object]|false|none|none|
+|» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|» description|object|false|none|description defines the description terms for the validator.|
+|»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»» website|string|false|none|website defines an optional website link.|
+|»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»» details|string|false|none|details define other optional details.|
+|» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|» commission|object|false|none|commission defines the commission parameters.|
+|»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.Params
+
+
+
+
+
+
+```json
+{
+ "unbonding_time": "string",
+ "max_validators": 0,
+ "max_entries": 0,
+ "historical_entries": 0,
+ "bond_denom": "string",
+ "min_commission_rate": "string"
+}
+
+```
+
+Params defines the parameters for the x/staking module.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|unbonding_time|string|false|none|unbonding_time is the time duration of unbonding.|
+|max_validators|integer(int64)|false|none|max_validators is the maximum number of validators.|
+|max_entries|integer(int64)|false|none|max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).|
+|historical_entries|integer(int64)|false|none|historical_entries is the number of historical entries to persist.|
+|bond_denom|string|false|none|bond_denom defines the bondable coin denomination.|
+|min_commission_rate|string|false|none|none|
+
+## cosmos.staking.v1beta1.Pool
+
+
+
+
+
+
+```json
+{
+ "not_bonded_tokens": "string",
+ "bonded_tokens": "string"
+}
+
+```
+
+Pool is used for tracking bonded and not-bonded token supply of the bond
+denomination.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|not_bonded_tokens|string|false|none|none|
+|bonded_tokens|string|false|none|none|
+
+## cosmos.staking.v1beta1.QueryDelegationResponse
+
+
+
+
+
+
+```json
+{
+ "delegation_response": {
+ "delegation": {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "shares": "string"
+ },
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+ }
+}
+
+```
+
+QueryDelegationResponse is response type for the Query/Delegation RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegation_response|object|false|none|DelegationResponse is equivalent to Delegation except that it contains a balance in addition to shares which is more suitable for client responses.|
+|» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» shares|string|false|none|shares define the delegation shares received.|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+
+## cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse
+
+
+
+
+
+
+```json
+{
+ "delegation_responses": [
+ {
+ "delegation": {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "shares": "string"
+ },
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryDelegatorDelegationsResponse is response type for the
+Query/DelegatorDelegations RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegation_responses|[object]|false|none|delegation_responses defines all the delegations' info of a delegator.|
+|» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» shares|string|false|none|shares define the delegation shares received.|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse
+
+
+
+
+
+
+```json
+{
+ "unbonding_responses": [
+ {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "balance": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryUnbondingDelegatorDelegationsResponse is response type for the
+Query/UnbondingDelegatorDelegations RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|unbonding_responses|[object]|false|none|none|
+|» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»» unbonding_id|string(uint64)|false|none|none|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryDelegatorValidatorResponse
+
+
+
+
+
+
+```json
+{
+ "validator": {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+}
+
+```
+
+QueryDelegatorValidatorResponse response type for the
+Query/DelegatorValidator RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validator|object|false|none|Validator defines a validator, together with the total amount of the Validator's bond shares and their exchange rate to coins. Slashing results in a decrease in the exchange rate, allowing correct calculation of future undelegations without iterating over delegators. When coins are delegated to this validator, the validator is credited with a delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate.|
+|» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|» description|object|false|none|description defines the description terms for the validator.|
+|»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»» website|string|false|none|website defines an optional website link.|
+|»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»» details|string|false|none|details define other optional details.|
+|» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|» commission|object|false|none|commission defines the commission parameters.|
+|»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse
+
+
+
+
+
+
+```json
+{
+ "validators": [
+ {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryDelegatorValidatorsResponse is response type for the
+Query/DelegatorValidators RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validators|[object]|false|none|validators defines the validators' info of a delegator.|
+|» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|» description|object|false|none|description defines the description terms for the validator.|
+|»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»» website|string|false|none|website defines an optional website link.|
+|»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»» details|string|false|none|details define other optional details.|
+|» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|» commission|object|false|none|commission defines the commission parameters.|
+|»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» unbonding_ids|[string]|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.QueryHistoricalInfoResponse
+
+
+
+
+
+
+```json
+{
+ "hist": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "valset": [
+ {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {},
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+ ]
+ }
+}
+
+```
+
+QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|hist|object|false|none|hist defines the historical info at the given height.|
+|» header|object|false|none|Header defines the structure of a block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string(byte)|false|none|none|
+|» valset|[object]|false|none|none|
+|»» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|»» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|»» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|»» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|»» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|»» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|»» description|object|false|none|description defines the description terms for the validator.|
+|»»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»»» website|string|false|none|website defines an optional website link.|
+|»»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»»» details|string|false|none|details define other optional details.|
+|»» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|»» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|»» commission|object|false|none|commission defines the commission parameters.|
+|»»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|»» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.QueryParamsResponse
+
+
+
+
+
+
+```json
+{
+ "params": {
+ "unbonding_time": "string",
+ "max_validators": 0,
+ "max_entries": 0,
+ "historical_entries": 0,
+ "bond_denom": "string",
+ "min_commission_rate": "string"
+ }
+}
+
+```
+
+QueryParamsResponse is response type for the Query/Params RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|params|object|false|none|params holds all the parameters of this module.|
+|» unbonding_time|string|false|none|unbonding_time is the time duration of unbonding.|
+|» max_validators|integer(int64)|false|none|max_validators is the maximum number of validators.|
+|» max_entries|integer(int64)|false|none|max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).|
+|» historical_entries|integer(int64)|false|none|historical_entries is the number of historical entries to persist.|
+|» bond_denom|string|false|none|bond_denom defines the bondable coin denomination.|
+|» min_commission_rate|string|false|none|none|
+
+## cosmos.staking.v1beta1.QueryPoolResponse
+
+
+
+
+
+
+```json
+{
+ "pool": {
+ "not_bonded_tokens": "string",
+ "bonded_tokens": "string"
+ }
+}
+
+```
+
+QueryPoolResponse is response type for the Query/Pool RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|pool|object|false|none|pool defines the pool info.|
+|» not_bonded_tokens|string|false|none|none|
+|» bonded_tokens|string|false|none|none|
+
+## cosmos.staking.v1beta1.QueryRedelegationsResponse
+
+
+
+
+
+
+```json
+{
+ "redelegation_responses": [
+ {
+ "redelegation": {
+ "delegator_address": "string",
+ "validator_src_address": "string",
+ "validator_dst_address": "string",
+ "entries": [
+ {
+ "creation_height": null,
+ "completion_time": null,
+ "initial_balance": null,
+ "shares_dst": null,
+ "unbonding_id": null,
+ "unbonding_on_hold_ref_count": null
+ }
+ ]
+ },
+ "entries": [
+ {
+ "redelegation_entry": {
+ "creation_height": null,
+ "completion_time": null,
+ "initial_balance": null,
+ "shares_dst": null,
+ "unbonding_id": null,
+ "unbonding_on_hold_ref_count": null
+ },
+ "balance": "string"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryRedelegationsResponse is response type for the Query/Redelegations RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|redelegation_responses|[object]|false|none|none|
+|» redelegation|object|false|none|Redelegation contains the list of a particular delegator's redelegating bonds from a particular source validator to a particular destination validator.|
+|»» delegator_address|string|false|none|delegator_address is the bech32-encoded address of the delegator.|
+|»» validator_src_address|string|false|none|validator_src_address is the validator redelegation source operator address.|
+|»» validator_dst_address|string|false|none|validator_dst_address is the validator redelegation destination operator address.|
+|»» entries|[object]|false|none|entries are the redelegation entries.|
+|»»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»»» unbonding_id|string(uint64)|false|none|none|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» entries|[object]|false|none|none|
+|»» redelegation_entry|object|false|none|RedelegationEntry defines a redelegation object with relevant metadata.|
+|»»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»»» unbonding_id|string(uint64)|false|none|none|
+|»»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|»» balance|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryUnbondingDelegationResponse
+
+
+
+
+
+
+```json
+{
+ "unbond": {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "balance": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+ }
+}
+
+```
+
+QueryDelegationResponse is response type for the Query/UnbondingDelegation
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|unbond|object|false|none|UnbondingDelegation stores all of a single delegator's unbonding bonds for a single validator in an time-ordered list.|
+|» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»» unbonding_id|string(uint64)|false|none|none|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryValidatorDelegationsResponse
+
+
+
+
+
+
+```json
+{
+ "delegation_responses": [
+ {
+ "delegation": {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "shares": "string"
+ },
+ "balance": {
+ "denom": "string",
+ "amount": "string"
+ }
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryValidatorDelegationsResponse is response type for the
+Query/ValidatorDelegations RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegation_responses|[object]|false|none|none|
+|» delegation|object|false|none|Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one validator.|
+|»» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|»» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|»» shares|string|false|none|shares define the delegation shares received.|
+|» balance|object|false|none|Coin defines a token with a denomination and an amount.
NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryValidatorResponse
+
+
+
+
+
+
+```json
+{
+ "validator": {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+}
+
+```
+
+QueryValidatorResponse is response type for the Query/Validator RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validator|object|false|none|Validator defines a validator, together with the total amount of the Validator's bond shares and their exchange rate to coins. Slashing results in a decrease in the exchange rate, allowing correct calculation of future undelegations without iterating over delegators. When coins are delegated to this validator, the validator is credited with a delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate.|
+|» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|» description|object|false|none|description defines the description terms for the validator.|
+|»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»» website|string|false|none|website defines an optional website link.|
+|»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»» details|string|false|none|details define other optional details.|
+|» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|» commission|object|false|none|commission defines the commission parameters.|
+|»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse
+
+
+
+
+
+
+```json
+{
+ "unbonding_responses": [
+ {
+ "delegator_address": "string",
+ "validator_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "balance": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryValidatorUnbondingDelegationsResponse is response type for the
+Query/ValidatorUnbondingDelegations RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|unbonding_responses|[object]|false|none|none|
+|» delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|» validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|» entries|[object]|false|none|entries are the unbonding delegation entries.|
+|»» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|»» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|»» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|»» balance|string|false|none|balance defines the tokens to receive at completion.|
+|»» unbonding_id|string(uint64)|false|none|none|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.staking.v1beta1.QueryValidatorsResponse
+
+
+
+
+
+
+```json
+{
+ "validators": [
+ {
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+QueryValidatorsResponse is response type for the Query/Validators RPC method
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|validators|[object]|false|none|validators contains all the queried validators.|
+|» operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|» consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|» status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|» tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|» delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|» description|object|false|none|description defines the description terms for the validator.|
+|»» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|»» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|»» website|string|false|none|website defines an optional website link.|
+|»» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|»» details|string|false|none|details define other optional details.|
+|» unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|» unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|» commission|object|false|none|commission defines the commission parameters.|
+|»» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|»» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|» min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» unbonding_ids|[string]|false|none|none|
+|pagination|object|false|none|pagination defines the pagination in the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## cosmos.staking.v1beta1.Redelegation
+
+
+
+
+
+
+```json
+{
+ "delegator_address": "string",
+ "validator_src_address": "string",
+ "validator_dst_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "shares_dst": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+}
+
+```
+
+Redelegation contains the list of a particular delegator's redelegating bonds
+from a particular source validator to a particular destination validator.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegator_address|string|false|none|delegator_address is the bech32-encoded address of the delegator.|
+|validator_src_address|string|false|none|validator_src_address is the validator redelegation source operator address.|
+|validator_dst_address|string|false|none|validator_dst_address is the validator redelegation destination operator address.|
+|entries|[object]|false|none|entries are the redelegation entries.|
+|» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|» unbonding_id|string(uint64)|false|none|none|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+## cosmos.staking.v1beta1.RedelegationEntry
+
+
+
+
+
+
+```json
+{
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "shares_dst": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+}
+
+```
+
+RedelegationEntry defines a redelegation object with relevant metadata.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|unbonding_id|string(uint64)|false|none|none|
+|unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+## cosmos.staking.v1beta1.RedelegationEntryResponse
+
+
+
+
+
+
+```json
+{
+ "redelegation_entry": {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "shares_dst": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ },
+ "balance": "string"
+}
+
+```
+
+RedelegationEntryResponse is equivalent to a RedelegationEntry except that it
+contains a balance in addition to shares which is more suitable for client
+responses.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|redelegation_entry|object|false|none|RedelegationEntry defines a redelegation object with relevant metadata.|
+|» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|» unbonding_id|string(uint64)|false|none|none|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|balance|string|false|none|none|
+
+## cosmos.staking.v1beta1.RedelegationResponse
+
+
+
+
+
+
+```json
+{
+ "redelegation": {
+ "delegator_address": "string",
+ "validator_src_address": "string",
+ "validator_dst_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "shares_dst": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+ },
+ "entries": [
+ {
+ "redelegation_entry": {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "shares_dst": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ },
+ "balance": "string"
+ }
+ ]
+}
+
+```
+
+RedelegationResponse is equivalent to a Redelegation except that its entries
+contain a balance in addition to shares which is more suitable for client
+responses.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|redelegation|object|false|none|Redelegation contains the list of a particular delegator's redelegating bonds from a particular source validator to a particular destination validator.|
+|» delegator_address|string|false|none|delegator_address is the bech32-encoded address of the delegator.|
+|» validator_src_address|string|false|none|validator_src_address is the validator redelegation source operator address.|
+|» validator_dst_address|string|false|none|validator_dst_address is the validator redelegation destination operator address.|
+|» entries|[object]|false|none|entries are the redelegation entries.|
+|»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»» unbonding_id|string(uint64)|false|none|none|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|entries|[object]|false|none|none|
+|» redelegation_entry|object|false|none|RedelegationEntry defines a redelegation object with relevant metadata.|
+|»» creation_height|string(int64)|false|none|creation_height defines the height which the redelegation took place.|
+|»» completion_time|string(date-time)|false|none|completion_time defines the unix time for redelegation completion.|
+|»» initial_balance|string|false|none|initial_balance defines the initial balance when redelegation started.|
+|»» shares_dst|string|false|none|shares_dst is the amount of destination-validator shares created by redelegation.|
+|»» unbonding_id|string(uint64)|false|none|none|
+|»» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|» balance|string|false|none|none|
+
+## cosmos.staking.v1beta1.UnbondingDelegation
+
+
+
+
+
+
+```json
+{
+ "delegator_address": "string",
+ "validator_address": "string",
+ "entries": [
+ {
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "balance": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+ }
+ ]
+}
+
+```
+
+UnbondingDelegation stores all of a single delegator's unbonding bonds
+for a single validator in an time-ordered list.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|delegator_address|string|false|none|delegator_address is the encoded address of the delegator.|
+|validator_address|string|false|none|validator_address is the encoded address of the validator.|
+|entries|[object]|false|none|entries are the unbonding delegation entries.|
+|» creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|» completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|» initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|» balance|string|false|none|balance defines the tokens to receive at completion.|
+|» unbonding_id|string(uint64)|false|none|none|
+|» unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+## cosmos.staking.v1beta1.UnbondingDelegationEntry
+
+
+
+
+
+
+```json
+{
+ "creation_height": "string",
+ "completion_time": "2019-08-24T14:15:22Z",
+ "initial_balance": "string",
+ "balance": "string",
+ "unbonding_id": "string",
+ "unbonding_on_hold_ref_count": "string"
+}
+
+```
+
+UnbondingDelegationEntry defines an unbonding object with relevant metadata.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|creation_height|string(int64)|false|none|creation_height is the height which the unbonding took place.|
+|completion_time|string(date-time)|false|none|completion_time is the unix time for unbonding completion.|
+|initial_balance|string|false|none|initial_balance defines the tokens initially scheduled to receive at completion.|
+|balance|string|false|none|balance defines the tokens to receive at completion.|
+|unbonding_id|string(uint64)|false|none|none|
+|unbonding_on_hold_ref_count|string(int64)|false|none|none|
+
+## cosmos.staking.v1beta1.Validator
+
+
+
+
+
+
+```json
+{
+ "operator_address": "string",
+ "consensus_pubkey": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "jailed": true,
+ "status": "BOND_STATUS_UNSPECIFIED",
+ "tokens": "string",
+ "delegator_shares": "string",
+ "description": {
+ "moniker": "string",
+ "identity": "string",
+ "website": "string",
+ "security_contact": "string",
+ "details": "string"
+ },
+ "unbonding_height": "string",
+ "unbonding_time": "2019-08-24T14:15:22Z",
+ "commission": {
+ "commission_rates": {
+ "rate": "string",
+ "max_rate": "string",
+ "max_change_rate": "string"
+ },
+ "update_time": "2019-08-24T14:15:22Z"
+ },
+ "min_self_delegation": "string",
+ "unbonding_on_hold_ref_count": "string",
+ "unbonding_ids": [
+ "string"
+ ]
+}
+
+```
+
+Validator defines a validator, together with the total amount of the
+Validator's bond shares and their exchange rate to coins. Slashing results in
+a decrease in the exchange rate, allowing correct calculation of future
+undelegations without iterating over delegators. When coins are delegated to
+this validator, the validator is credited with a delegation whose number of
+bond shares is based on the amount of coins delegated divided by the current
+exchange rate. Voting power can be calculated as total bonded shares
+multiplied by exchange rate.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|operator_address|string|false|none|operator_address defines the address of the validator's operator; bech encoded in JSON.|
+|consensus_pubkey|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|jailed|boolean|false|none|jailed defined whether the validator has been jailed from bonded status or not.|
+|status|string|false|none|status is the validator status (bonded/unbonding/unbonded).|
+|tokens|string|false|none|tokens define the delegated tokens (incl. self-delegation).|
+|delegator_shares|string|false|none|delegator_shares defines total shares issued to a validator's delegators.|
+|description|object|false|none|description defines the description terms for the validator.|
+|» moniker|string|false|none|moniker defines a human-readable name for the validator.|
+|» identity|string|false|none|identity defines an optional identity signature (ex. UPort or Keybase).|
+|» website|string|false|none|website defines an optional website link.|
+|» security_contact|string|false|none|security_contact defines an optional email for security contact.|
+|» details|string|false|none|details define other optional details.|
+|unbonding_height|string(int64)|false|none|unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.|
+|unbonding_time|string(date-time)|false|none|unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.|
+|commission|object|false|none|commission defines the commission parameters.|
+|» commission_rates|object|false|none|commission_rates defines the initial commission rates to be used for creating a validator.|
+|»» rate|string|false|none|rate is the commission rate charged to delegators, as a fraction.|
+|»» max_rate|string|false|none|max_rate defines the maximum commission rate which validator can ever charge, as a fraction.|
+|»» max_change_rate|string|false|none|max_change_rate defines the maximum daily increase of the validator commission, as a fraction.|
+|» update_time|string(date-time)|false|none|update_time is the last time the commission rate was changed.|
+|min_self_delegation|string|false|none|min_self_delegation is the validator's self declared minimum self delegation.
Since: cosmos-sdk 0.46|
+|unbonding_on_hold_ref_count|string(int64)|false|none|none|
+|unbonding_ids|[string]|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|status|BOND_STATUS_UNSPECIFIED|
+|status|BOND_STATUS_UNBONDED|
+|status|BOND_STATUS_UNBONDING|
+|status|BOND_STATUS_BONDED|
+
+## tendermint.types.BlockID
+
+
+
+
+
+
+```json
+{
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+}
+
+```
+
+BlockID
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|hash|string(byte)|false|none|none|
+|part_set_header|object|false|none|none|
+|» total|integer(int64)|false|none|none|
+|» hash|string(byte)|false|none|none|
+
+## tendermint.types.Header
+
+
+
+
+
+
+```json
+{
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+}
+
+```
+
+Header defines the structure of a block header.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|» block|string(uint64)|false|none|none|
+|» app|string(uint64)|false|none|none|
+|chain_id|string|false|none|none|
+|height|string(int64)|false|none|none|
+|time|string(date-time)|false|none|none|
+|last_block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|last_commit_hash|string(byte)|false|none|none|
+|data_hash|string(byte)|false|none|none|
+|validators_hash|string(byte)|false|none|none|
+|next_validators_hash|string(byte)|false|none|none|
+|consensus_hash|string(byte)|false|none|none|
+|app_hash|string(byte)|false|none|none|
+|last_results_hash|string(byte)|false|none|none|
+|evidence_hash|string(byte)|false|none|none|
+|proposer_address|string(byte)|false|none|none|
+
+## tendermint.types.PartSetHeader
+
+
+
+
+
+
+```json
+{
+ "total": 0,
+ "hash": "string"
+}
+
+```
+
+PartsetHeader
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|total|integer(int64)|false|none|none|
+|hash|string(byte)|false|none|none|
+
+## tendermint.version.Consensus
+
+
+
+
+
+
+```json
+{
+ "block": "string",
+ "app": "string"
+}
+
+```
+
+Consensus captures the consensus rules for processing a block in the blockchain,
+including all blockchain data structures and the rules of the application's
+state transition machine.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block|string(uint64)|false|none|none|
+|app|string(uint64)|false|none|none|
+
+## cosmos.base.abci.v1beta1.ABCIMessageLog
+
+
+
+
+
+
+```json
+{
+ "msg_index": 0,
+ "log": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": "string",
+ "value": "string"
+ }
+ ]
+ }
+ ]
+}
+
+```
+
+ABCIMessageLog defines a structure containing an indexed tx ABCI message log.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|msg_index|integer(int64)|false|none|none|
+|log|string|false|none|none|
+|events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|» type|string|false|none|none|
+|» attributes|[object]|false|none|none|
+|»» key|string|false|none|none|
+|»» value|string|false|none|none|
+
+## cosmos.base.abci.v1beta1.Attribute
+
+
+
+
+
+
+```json
+{
+ "key": "string",
+ "value": "string"
+}
+
+```
+
+Attribute defines an attribute wrapper where the key and value are
+strings instead of raw bytes.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|key|string|false|none|none|
+|value|string|false|none|none|
+
+## cosmos.base.abci.v1beta1.GasInfo
+
+
+
+
+
+
+```json
+{
+ "gas_wanted": "string",
+ "gas_used": "string"
+}
+
+```
+
+GasInfo defines tx execution gas context.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|gas_wanted|string(uint64)|false|none|GasWanted is the maximum units of work we allow this tx to perform.|
+|gas_used|string(uint64)|false|none|GasUsed is the amount of gas actually consumed.|
+
+## cosmos.base.abci.v1beta1.Result
+
+
+
+
+
+
+```json
+{
+ "data": "string",
+ "log": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": "string",
+ "value": "string",
+ "index": true
+ }
+ ]
+ }
+ ],
+ "msg_responses": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+Result is the union of ResponseFormat and ResponseCheckTx.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|data|string(byte)|false|none|Data is any data returned from message or handler execution. It MUST be length prefixed in order to separate data from multiple message executions. Deprecated. This field is still populated, but prefer msg_response instead because it also contains the Msg response typeURL.|
+|log|string|false|none|Log contains the log information from message or handler execution.|
+|events|[object]|false|none|Events contains a slice of Event objects that were emitted during message or handler execution.|
+|» type|string|false|none|none|
+|» attributes|[object]|false|none|none|
+|»» key|string|false|none|none|
+|»» value|string|false|none|none|
+|»» index|boolean|false|none|none|
+|msg_responses|[object]|false|none|msg_responses contains the Msg handler responses type packed in Anys.
Since: cosmos-sdk 0.46|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.base.abci.v1beta1.StringEvent
+
+
+
+
+
+
+```json
+{
+ "type": "string",
+ "attributes": [
+ {
+ "key": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+StringEvent defines en Event object wrapper where all the attributes
+contain key/value pairs that are strings instead of raw bytes.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|type|string|false|none|none|
+|attributes|[object]|false|none|none|
+|» key|string|false|none|none|
+|» value|string|false|none|none|
+
+## cosmos.base.abci.v1beta1.TxResponse
+
+
+
+
+
+
+```json
+{
+ "height": "string",
+ "txhash": "string",
+ "codespace": "string",
+ "code": 0,
+ "data": "string",
+ "raw_log": "string",
+ "logs": [
+ {
+ "msg_index": 0,
+ "log": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {}
+ ]
+ }
+ ]
+ }
+ ],
+ "info": "string",
+ "gas_wanted": "string",
+ "gas_used": "string",
+ "tx": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "timestamp": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": "string",
+ "value": "string",
+ "index": true
+ }
+ ]
+ }
+ ]
+}
+
+```
+
+TxResponse defines a structure containing relevant tx data and metadata. The
+tags are stringified and the log is JSON decoded.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|string(int64)|false|none|none|
+|txhash|string|false|none|The transaction hash.|
+|codespace|string|false|none|none|
+|code|integer(int64)|false|none|Response code.|
+|data|string|false|none|Result bytes, if any.|
+|raw_log|string|false|none|The output of the application's logger (raw string). May be non-deterministic.|
+|logs|[object]|false|none|The output of the application's logger (typed). May be non-deterministic.|
+|» msg_index|integer(int64)|false|none|none|
+|» log|string|false|none|none|
+|» events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|»» type|string|false|none|none|
+|»» attributes|[object]|false|none|none|
+|»»» key|string|false|none|none|
+|»»» value|string|false|none|none|
+|info|string|false|none|Additional information. May be non-deterministic.|
+|gas_wanted|string(int64)|false|none|Amount of gas requested for transaction.|
+|gas_used|string(int64)|false|none|Amount of gas consumed by transaction.|
+|tx|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|timestamp|string|false|none|Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time.|
+|events|[object]|false|none|Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages.
Since: cosmos-sdk 0.42.11, 0.44.5, 0.45|
+|» type|string|false|none|none|
+|» attributes|[object]|false|none|none|
+|»» key|string|false|none|none|
+|»» value|string|false|none|none|
+|»» index|boolean|false|none|none|
+
+## cosmos.crypto.multisig.v1beta1.CompactBitArray
+
+
+
+
+
+
+```json
+{
+ "extra_bits_stored": 0,
+ "elems": "string"
+}
+
+```
+
+CompactBitArray is an implementation of a space efficient bit array.
+This is used to ensure that the encoded data takes up a minimal amount of
+space after proto encoding.
+This is not thread safe, and is not intended for concurrent usage.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|extra_bits_stored|integer(int64)|false|none|none|
+|elems|string(byte)|false|none|none|
+
+## cosmos.tx.signing.v1beta1.SignMode
+
+
+
+
+
+
+```json
+"SIGN_MODE_UNSPECIFIED"
+
+```
+
+SignMode represents a signing mode with its own security guarantees.
+
+This enum should be considered a registry of all known sign modes
+in the Cosmos ecosystem. Apps are not expected to support all known
+sign modes. Apps that would like to support custom sign modes are
+encouraged to open a small PR against this file to add a new case
+to this SignMode enum describing their sign mode so that different
+apps have a consistent version of this enum.
+
+ - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be
+rejected.
+ - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is
+verified with raw bytes from Tx.
+ - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some
+human-readable textual representation on top of the binary representation
+from SIGN_MODE_DIRECT. It is currently experimental, and should be used
+for testing purposes only, until Textual is fully released. Please follow
+the tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970.
+ - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses
+SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not
+require signers signing over other signers' `signer_info`. It also allows
+for adding Tips in transactions.
+
+Since: cosmos-sdk 0.46
+ - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses
+Amino JSON and will be removed in the future.
+ - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos
+SDK. Ref: https://eips.ethereum.org/EIPS/eip-191
+
+Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,
+but is not implemented on the SDK by default. To enable EIP-191, you need
+to pass a custom `TxConfig` that has an implementation of
+`SignModeHandler` for EIP-191. The SDK may decide to fully support
+EIP-191 in the future.
+
+Since: cosmos-sdk 0.45.2
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|SignMode represents a signing mode with its own security guarantees.
This enum should be considered a registry of all known sign modes in the Cosmos ecosystem. Apps are not expected to support all known sign modes. Apps that would like to support custom sign modes are encouraged to open a small PR against this file to add a new case to this SignMode enum describing their sign mode so that different apps have a consistent version of this enum.
- SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation from SIGN_MODE_DIRECT. It is currently experimental, and should be used for testing purposes only, until Textual is fully released. Please follow the tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970. - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not require signers signing over other signers' `signer_info`. It also allows for adding Tips in transactions.
Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses Amino JSON and will be removed in the future. - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos SDK. Ref: https://eips.ethereum.org/EIPS/eip-191
Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, but is not implemented on the SDK by default. To enable EIP-191, you need to pass a custom `TxConfig` that has an implementation of `SignModeHandler` for EIP-191. The SDK may decide to fully support EIP-191 in the future.
Since: cosmos-sdk 0.45.2|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|SIGN_MODE_UNSPECIFIED|
+|*anonymous*|SIGN_MODE_DIRECT|
+|*anonymous*|SIGN_MODE_TEXTUAL|
+|*anonymous*|SIGN_MODE_DIRECT_AUX|
+|*anonymous*|SIGN_MODE_LEGACY_AMINO_JSON|
+|*anonymous*|SIGN_MODE_EIP_191|
+
+## cosmos.tx.v1beta1.AuthInfo
+
+
+
+
+
+
+```json
+{
+ "signer_infos": [
+ {
+ "public_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "mode_info": {
+ "single": {
+ "mode": "["
+ },
+ "multi": {
+ "bitarray": {},
+ "mode_infos": [
+ null
+ ]
+ }
+ },
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "tipper": "string"
+ }
+}
+
+```
+
+AuthInfo describes the fee and signer modes that are used to sign a
+transaction.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|signer_infos|[[cosmos.tx.v1beta1.SignerInfo](#schemacosmos.tx.v1beta1.signerinfo)]|false|none|signer_infos defines the signing modes for the required signers. The number and order of elements must match the required signers from TxBody's messages. The first element is the primary signer and the one which pays the fee.|
+|fee|object|false|none|Fee is the fee and gas limit for the transaction. The first signer is the primary signer and the one which pays the fee. The fee can be calculated based on the cost of evaluating the body and doing signature verification of the signers. This can be estimated via simulation.|
+|» amount|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» gas_limit|string(uint64)|false|none|none|
+|» payer|string|false|none|if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. the payer must be a tx signer (and thus have signed this field in AuthInfo). setting this field does *not* change the ordering of required signers for the transaction.|
+|» granter|string|false|none|none|
+|tip|object|false|none|Tip is the optional tip used for transactions fees paid in another denom.
This field is ignored if the chain didn't enable tips, i.e. didn't add the `TipDecorator` in its posthandler.
Since: cosmos-sdk 0.46|
+|» amount|[object]|false|none|none|
+|»» denom|string|false|none|none|
+|»» amount|string|false|none|none|
+|» tipper|string|false|none|none|
+
+## cosmos.tx.v1beta1.BroadcastMode
+
+
+
+
+
+
+```json
+"BROADCAST_MODE_UNSPECIFIED"
+
+```
+
+BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC
+method.
+
+ - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering
+ - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,
+BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.
+ - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits
+for a CheckTx execution response only.
+ - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client
+returns immediately.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.
- BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead, BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards. - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for a CheckTx execution response only. - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns immediately.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|*anonymous*|BROADCAST_MODE_UNSPECIFIED|
+|*anonymous*|BROADCAST_MODE_BLOCK|
+|*anonymous*|BROADCAST_MODE_SYNC|
+|*anonymous*|BROADCAST_MODE_ASYNC|
+
+## cosmos.tx.v1beta1.BroadcastTxRequest
+
+
+
+
+
+
+```json
+{
+ "tx_bytes": "string",
+ "mode": "BROADCAST_MODE_UNSPECIFIED"
+}
+
+```
+
+BroadcastTxRequest is the request type for the Service.BroadcastTxRequest
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx_bytes|string(byte)|false|none|tx_bytes is the raw transaction.|
+|mode|string|false|none|BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.
- BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead, BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards. - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for a CheckTx execution response only. - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns immediately.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|mode|BROADCAST_MODE_UNSPECIFIED|
+|mode|BROADCAST_MODE_BLOCK|
+|mode|BROADCAST_MODE_SYNC|
+|mode|BROADCAST_MODE_ASYNC|
+
+## cosmos.tx.v1beta1.BroadcastTxResponse
+
+
+
+
+
+
+```json
+{
+ "tx_response": {
+ "height": "string",
+ "txhash": "string",
+ "codespace": "string",
+ "code": 0,
+ "data": "string",
+ "raw_log": "string",
+ "logs": [
+ {
+ "msg_index": 0,
+ "log": "string",
+ "events": [
+ {
+ "type": null,
+ "attributes": null
+ }
+ ]
+ }
+ ],
+ "info": "string",
+ "gas_wanted": "string",
+ "gas_used": "string",
+ "tx": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "timestamp": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": null,
+ "value": null,
+ "index": null
+ }
+ ]
+ }
+ ]
+ }
+}
+
+```
+
+BroadcastTxResponse is the response type for the
+Service.BroadcastTx method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx_response|object|false|none|TxResponse defines a structure containing relevant tx data and metadata. The tags are stringified and the log is JSON decoded.|
+|» height|string(int64)|false|none|none|
+|» txhash|string|false|none|The transaction hash.|
+|» codespace|string|false|none|none|
+|» code|integer(int64)|false|none|Response code.|
+|» data|string|false|none|Result bytes, if any.|
+|» raw_log|string|false|none|The output of the application's logger (raw string). May be non-deterministic.|
+|» logs|[object]|false|none|The output of the application's logger (typed). May be non-deterministic.|
+|»» msg_index|integer(int64)|false|none|none|
+|»» log|string|false|none|none|
+|»» events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|»»» type|string|false|none|none|
+|»»» attributes|[object]|false|none|none|
+|»»»» key|string|false|none|none|
+|»»»» value|string|false|none|none|
+|» info|string|false|none|Additional information. May be non-deterministic.|
+|» gas_wanted|string(int64)|false|none|Amount of gas requested for transaction.|
+|» gas_used|string(int64)|false|none|Amount of gas consumed by transaction.|
+|» tx|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» timestamp|string|false|none|Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time.|
+|» events|[object]|false|none|Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages.
Since: cosmos-sdk 0.42.11, 0.44.5, 0.45|
+|»» type|string|false|none|none|
+|»» attributes|[object]|false|none|none|
+|»»» key|string|false|none|none|
+|»»» value|string|false|none|none|
+|»»» index|boolean|false|none|none|
+
+## cosmos.tx.v1beta1.Fee
+
+
+
+
+
+
+```json
+{
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+}
+
+```
+
+Fee includes the amount of coins paid in fees and the maximum
+gas to be used by the transaction. The ratio yields an effective "gasprice",
+which must be above some miminum to be accepted into the mempool.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amount|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|gas_limit|string(uint64)|false|none|none|
+|payer|string|false|none|if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. the payer must be a tx signer (and thus have signed this field in AuthInfo). setting this field does *not* change the ordering of required signers for the transaction.|
+|granter|string|false|none|none|
+
+## cosmos.tx.v1beta1.GetBlockWithTxsResponse
+
+
+
+
+
+
+```json
+{
+ "txs": [
+ {
+ "body": {
+ "messages": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": null,
+ "mode_info": null,
+ "sequence": null
+ }
+ ],
+ "fee": {
+ "amount": [
+ null
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ null
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+ ],
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "block": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {},
+ "light_client_attack_evidence": {}
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ },
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs
+method.
+
+Since: cosmos-sdk 0.45.2
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|txs|[[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)]|false|none|txs are the transactions in the block.|
+|block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|block|object|false|none|none|
+|» header|object|false|none|Header defines the structure of a block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string(byte)|false|none|none|
+|» data|object|false|none|none|
+|»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|» evidence|object|false|none|none|
+|»» evidence|[object]|false|none|none|
+|»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» validator_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»» conflicting_block|object|false|none|none|
+|»»»»» signed_header|object|false|none|none|
+|»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»» chain_id|string|false|none|none|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»» block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»» validator_set|object|false|none|none|
+|»»»»»» validators|[object]|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» proposer|object|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» common_height|string(int64)|false|none|none|
+|»»»» byzantine_validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+|pagination|object|false|none|pagination defines a pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## cosmos.tx.v1beta1.GetTxResponse
+
+
+
+
+
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ },
+ "tx_response": {
+ "height": "string",
+ "txhash": "string",
+ "codespace": "string",
+ "code": 0,
+ "data": "string",
+ "raw_log": "string",
+ "logs": [
+ {
+ "msg_index": 0,
+ "log": "string",
+ "events": [
+ {
+ "type": null,
+ "attributes": null
+ }
+ ]
+ }
+ ],
+ "info": "string",
+ "gas_wanted": "string",
+ "gas_used": "string",
+ "tx": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "timestamp": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": null,
+ "value": null,
+ "index": null
+ }
+ ]
+ }
+ ]
+ }
+}
+
+```
+
+GetTxResponse is the response type for the Service.GetTx method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx|[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)|false|none|tx is the queried transaction.|
+|tx_response|object|false|none|TxResponse defines a structure containing relevant tx data and metadata. The tags are stringified and the log is JSON decoded.|
+|» height|string(int64)|false|none|none|
+|» txhash|string|false|none|The transaction hash.|
+|» codespace|string|false|none|none|
+|» code|integer(int64)|false|none|Response code.|
+|» data|string|false|none|Result bytes, if any.|
+|» raw_log|string|false|none|The output of the application's logger (raw string). May be non-deterministic.|
+|» logs|[object]|false|none|The output of the application's logger (typed). May be non-deterministic.|
+|»» msg_index|integer(int64)|false|none|none|
+|»» log|string|false|none|none|
+|»» events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|»»» type|string|false|none|none|
+|»»» attributes|[object]|false|none|none|
+|»»»» key|string|false|none|none|
+|»»»» value|string|false|none|none|
+|» info|string|false|none|Additional information. May be non-deterministic.|
+|» gas_wanted|string(int64)|false|none|Amount of gas requested for transaction.|
+|» gas_used|string(int64)|false|none|Amount of gas consumed by transaction.|
+|» tx|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» timestamp|string|false|none|Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time.|
+|» events|[object]|false|none|Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages.
Since: cosmos-sdk 0.42.11, 0.44.5, 0.45|
+|»» type|string|false|none|none|
+|»» attributes|[object]|false|none|none|
+|»»» key|string|false|none|none|
+|»»» value|string|false|none|none|
+|»»» index|boolean|false|none|none|
+
+## cosmos.tx.v1beta1.GetTxsEventResponse
+
+
+
+
+
+
+```json
+{
+ "txs": [
+ {
+ "body": {
+ "messages": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": null,
+ "value": null
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": null,
+ "mode_info": null,
+ "sequence": null
+ }
+ ],
+ "fee": {
+ "amount": [
+ null
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ null
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+ ],
+ "tx_responses": [
+ {
+ "height": "string",
+ "txhash": "string",
+ "codespace": "string",
+ "code": 0,
+ "data": "string",
+ "raw_log": "string",
+ "logs": [
+ {
+ "msg_index": 0,
+ "log": "string",
+ "events": [
+ {}
+ ]
+ }
+ ],
+ "info": "string",
+ "gas_wanted": "string",
+ "gas_used": "string",
+ "tx": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "timestamp": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {}
+ ]
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ },
+ "total": "string"
+}
+
+```
+
+GetTxsEventResponse is the response type for the Service.TxsByEvents
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|txs|[[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)]|false|none|txs is the list of queried transactions.|
+|tx_responses|[object]|false|none|tx_responses is the list of queried TxResponses.|
+|» height|string(int64)|false|none|none|
+|» txhash|string|false|none|The transaction hash.|
+|» codespace|string|false|none|none|
+|» code|integer(int64)|false|none|Response code.|
+|» data|string|false|none|Result bytes, if any.|
+|» raw_log|string|false|none|The output of the application's logger (raw string). May be non-deterministic.|
+|» logs|[object]|false|none|The output of the application's logger (typed). May be non-deterministic.|
+|»» msg_index|integer(int64)|false|none|none|
+|»» log|string|false|none|none|
+|»» events|[object]|false|none|Events contains a slice of Event objects that were emitted during some execution.|
+|»»» type|string|false|none|none|
+|»»» attributes|[object]|false|none|none|
+|»»»» key|string|false|none|none|
+|»»»» value|string|false|none|none|
+|» info|string|false|none|Additional information. May be non-deterministic.|
+|» gas_wanted|string(int64)|false|none|Amount of gas requested for transaction.|
+|» gas_used|string(int64)|false|none|Amount of gas consumed by transaction.|
+|» tx|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» timestamp|string|false|none|Time of the previous block. For heights > 1, it's the weighted median of the timestamps of the valid votes in the block.LastCommit. For height == 1, it's genesis time.|
+|» events|[object]|false|none|Events defines all the events emitted by processing a transaction. Note, these events include those emitted by processing all the messages and those emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages.
Since: cosmos-sdk 0.42.11, 0.44.5, 0.45|
+|»» type|string|false|none|none|
+|»» attributes|[object]|false|none|none|
+|»»» key|string|false|none|none|
+|»»» value|string|false|none|none|
+|»»» index|boolean|false|none|none|
+|pagination|object|false|none|pagination defines a pagination for the response. Deprecated post v0.46.x: use total instead.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+|total|string(uint64)|false|none|none|
+
+## cosmos.tx.v1beta1.ModeInfo
+
+
+
+
+
+
+```json
+{
+ "single": {
+ "mode": "SIGN_MODE_UNSPECIFIED"
+ },
+ "multi": {
+ "bitarray": {
+ "extra_bits_stored": 0,
+ "elems": "string"
+ },
+ "mode_infos": [
+ {
+ "single": {
+ "mode": "["
+ },
+ "multi": {
+ "bitarray": {},
+ "mode_infos": [
+ null
+ ]
+ }
+ }
+ ]
+ }
+}
+
+```
+
+ModeInfo describes the signing mode of a single or nested multisig signer.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|single|object|false|none|none|
+|» mode|string|false|none|SignMode represents a signing mode with its own security guarantees.
This enum should be considered a registry of all known sign modes in the Cosmos ecosystem. Apps are not expected to support all known sign modes. Apps that would like to support custom sign modes are encouraged to open a small PR against this file to add a new case to this SignMode enum describing their sign mode so that different apps have a consistent version of this enum.
- SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation from SIGN_MODE_DIRECT. It is currently experimental, and should be used for testing purposes only, until Textual is fully released. Please follow the tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970. - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not require signers signing over other signers' `signer_info`. It also allows for adding Tips in transactions.
Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses Amino JSON and will be removed in the future. - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos SDK. Ref: https://eips.ethereum.org/EIPS/eip-191
Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, but is not implemented on the SDK by default. To enable EIP-191, you need to pass a custom `TxConfig` that has an implementation of `SignModeHandler` for EIP-191. The SDK may decide to fully support EIP-191 in the future.
Since: cosmos-sdk 0.45.2|
+|multi|[cosmos.tx.v1beta1.ModeInfo.Multi](#schemacosmos.tx.v1beta1.modeinfo.multi)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|mode|SIGN_MODE_UNSPECIFIED|
+|mode|SIGN_MODE_DIRECT|
+|mode|SIGN_MODE_TEXTUAL|
+|mode|SIGN_MODE_DIRECT_AUX|
+|mode|SIGN_MODE_LEGACY_AMINO_JSON|
+|mode|SIGN_MODE_EIP_191|
+
+## cosmos.tx.v1beta1.ModeInfo.Multi
+
+
+
+
+
+
+```json
+{
+ "bitarray": {
+ "extra_bits_stored": 0,
+ "elems": "string"
+ },
+ "mode_infos": [
+ {
+ "single": {
+ "mode": "SIGN_MODE_UNSPECIFIED"
+ },
+ "multi": {
+ "bitarray": {
+ "extra_bits_stored": 0,
+ "elems": "string"
+ },
+ "mode_infos": [
+ {
+ "single": null,
+ "multi": null
+ }
+ ]
+ }
+ }
+ ]
+}
+
+```
+
+Multi is the mode info for a multisig public key
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|bitarray|object|false|none|CompactBitArray is an implementation of a space efficient bit array. This is used to ensure that the encoded data takes up a minimal amount of space after proto encoding. This is not thread safe, and is not intended for concurrent usage.|
+|» extra_bits_stored|integer(int64)|false|none|none|
+|» elems|string(byte)|false|none|none|
+|mode_infos|[[cosmos.tx.v1beta1.ModeInfo](#schemacosmos.tx.v1beta1.modeinfo)]|false|none|[ModeInfo describes the signing mode of a single or nested multisig signer.]|
+
+## cosmos.tx.v1beta1.ModeInfo.Single
+
+
+
+
+
+
+```json
+{
+ "mode": "SIGN_MODE_UNSPECIFIED"
+}
+
+```
+
+Single is the mode info for a single signer. It is structured as a message
+to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the
+future
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|mode|string|false|none|SignMode represents a signing mode with its own security guarantees.
This enum should be considered a registry of all known sign modes in the Cosmos ecosystem. Apps are not expected to support all known sign modes. Apps that would like to support custom sign modes are encouraged to open a small PR against this file to add a new case to this SignMode enum describing their sign mode so that different apps have a consistent version of this enum.
- SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation from SIGN_MODE_DIRECT. It is currently experimental, and should be used for testing purposes only, until Textual is fully released. Please follow the tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970. - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not require signers signing over other signers' `signer_info`. It also allows for adding Tips in transactions.
Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses Amino JSON and will be removed in the future. - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos SDK. Ref: https://eips.ethereum.org/EIPS/eip-191
Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, but is not implemented on the SDK by default. To enable EIP-191, you need to pass a custom `TxConfig` that has an implementation of `SignModeHandler` for EIP-191. The SDK may decide to fully support EIP-191 in the future.
Since: cosmos-sdk 0.45.2|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|mode|SIGN_MODE_UNSPECIFIED|
+|mode|SIGN_MODE_DIRECT|
+|mode|SIGN_MODE_TEXTUAL|
+|mode|SIGN_MODE_DIRECT_AUX|
+|mode|SIGN_MODE_LEGACY_AMINO_JSON|
+|mode|SIGN_MODE_EIP_191|
+
+## cosmos.tx.v1beta1.OrderBy
+
+
+
+
+
+
+```json
+"ORDER_BY_UNSPECIFIED"
+
+```
+
+OrderBy defines the sorting order
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|OrderBy defines the sorting order|string|false|none|- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order - ORDER_BY_DESC: ORDER_BY_DESC defines descending order|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|OrderBy defines the sorting order|ORDER_BY_UNSPECIFIED|
+|OrderBy defines the sorting order|ORDER_BY_ASC|
+|OrderBy defines the sorting order|ORDER_BY_DESC|
+
+## cosmos.tx.v1beta1.SignerInfo
+
+
+
+
+
+
+```json
+{
+ "public_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "mode_info": {
+ "single": {
+ "mode": "SIGN_MODE_UNSPECIFIED"
+ },
+ "multi": {
+ "bitarray": {
+ "extra_bits_stored": 0,
+ "elems": "string"
+ },
+ "mode_infos": [
+ {
+ "single": {},
+ "multi": {}
+ }
+ ]
+ }
+ },
+ "sequence": "string"
+}
+
+```
+
+SignerInfo describes the public key and signing mode of a single top-level
+signer.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|public_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|mode_info|[cosmos.tx.v1beta1.ModeInfo](#schemacosmos.tx.v1beta1.modeinfo)|false|none|ModeInfo describes the signing mode of a single or nested multisig signer.|
+|sequence|string(uint64)|false|none|sequence is the sequence of the account, which describes the number of committed transactions signed by a given address. It is used to prevent replay attacks.|
+
+## cosmos.tx.v1beta1.SimulateRequest
+
+
+
+
+
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ },
+ "tx_bytes": "string"
+}
+
+```
+
+SimulateRequest is the request type for the Service.Simulate
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx|[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)|false|none|tx is the transaction to simulate. Deprecated. Send raw tx bytes instead.|
+|tx_bytes|string(byte)|false|none|tx_bytes is the raw transaction.
Since: cosmos-sdk 0.43|
+
+## cosmos.tx.v1beta1.SimulateResponse
+
+
+
+
+
+
+```json
+{
+ "gas_info": {
+ "gas_wanted": "string",
+ "gas_used": "string"
+ },
+ "result": {
+ "data": "string",
+ "log": "string",
+ "events": [
+ {
+ "type": "string",
+ "attributes": [
+ {
+ "key": null,
+ "value": null,
+ "index": null
+ }
+ ]
+ }
+ ],
+ "msg_responses": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ }
+}
+
+```
+
+SimulateResponse is the response type for the
+Service.SimulateRPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|gas_info|object|false|none|gas_info is the information about gas used in the simulation.|
+|» gas_wanted|string(uint64)|false|none|GasWanted is the maximum units of work we allow this tx to perform.|
+|» gas_used|string(uint64)|false|none|GasUsed is the amount of gas actually consumed.|
+|result|object|false|none|result is the result of the simulation.|
+|» data|string(byte)|false|none|Data is any data returned from message or handler execution. It MUST be length prefixed in order to separate data from multiple message executions. Deprecated. This field is still populated, but prefer msg_response instead because it also contains the Msg response typeURL.|
+|» log|string|false|none|Log contains the log information from message or handler execution.|
+|» events|[object]|false|none|Events contains a slice of Event objects that were emitted during message or handler execution.|
+|»» type|string|false|none|none|
+|»» attributes|[object]|false|none|none|
+|»»» key|string|false|none|none|
+|»»» value|string|false|none|none|
+|»»» index|boolean|false|none|none|
+|» msg_responses|[object]|false|none|msg_responses contains the Msg handler responses type packed in Anys.
Since: cosmos-sdk 0.46|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.tx.v1beta1.Tip
+
+
+
+
+
+
+```json
+{
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "tipper": "string"
+}
+
+```
+
+Tip is the tip used for meta-transactions.
+
+Since: cosmos-sdk 0.46
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amount|[object]|false|none|none|
+|» denom|string|false|none|none|
+|» amount|string|false|none|none|
+|tipper|string|false|none|none|
+
+## cosmos.tx.v1beta1.Tx
+
+
+
+
+
+
+```json
+{
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "mode_info": {
+ "single": {},
+ "multi": {}
+ },
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {
+ "denom": "string",
+ "amount": "string"
+ }
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+}
+
+```
+
+Tx is the standard type used for broadcasting transactions.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|body|object|false|none|TxBody is the body of a transaction that all signers sign over.|
+|» messages|[object]|false|none|messages is a list of messages to be executed. The required signers of those messages define the number and order of elements in AuthInfo's signer_infos and Tx's signatures. Each required signer address is added to the list only the first time it occurs. By convention, the first required signer (usually from the first message) is referred to as the primary signer and pays the fee for the whole transaction.|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» memo|string|false|none|memo is any arbitrary note/comment to be added to the transaction. WARNING: in clients, any publicly exposed text should not be called memo, but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).|
+|» timeout_height|string(uint64)|false|none|none|
+|» extension_options|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» non_critical_extension_options|[object]|false|none|none|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|auth_info|[cosmos.tx.v1beta1.AuthInfo](#schemacosmos.tx.v1beta1.authinfo)|false|none|AuthInfo describes the fee and signer modes that are used to sign a transaction.|
+|signatures|[string]|false|none|signatures is a list of signatures that matches the length and order of AuthInfo's signer_infos to allow connecting signature meta information like public key and signing mode by position.|
+
+## cosmos.tx.v1beta1.TxBody
+
+
+
+
+
+
+```json
+{
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+}
+
+```
+
+TxBody is the body of a transaction that all signers sign over.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|messages|[object]|false|none|messages is a list of messages to be executed. The required signers of those messages define the number and order of elements in AuthInfo's signer_infos and Tx's signatures. Each required signer address is added to the list only the first time it occurs. By convention, the first required signer (usually from the first message) is referred to as the primary signer and pays the fee for the whole transaction.|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|memo|string|false|none|memo is any arbitrary note/comment to be added to the transaction. WARNING: in clients, any publicly exposed text should not be called memo, but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).|
+|timeout_height|string(uint64)|false|none|none|
+|extension_options|[object]|false|none|none|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|non_critical_extension_options|[object]|false|none|none|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.tx.v1beta1.TxDecodeAminoRequest
+
+
+
+
+
+
+```json
+{
+ "amino_binary": "string"
+}
+
+```
+
+TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amino_binary|string(byte)|false|none|none|
+
+## cosmos.tx.v1beta1.TxDecodeAminoResponse
+
+
+
+
+
+
+```json
+{
+ "amino_json": "string"
+}
+
+```
+
+TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amino_json|string|false|none|none|
+
+## cosmos.tx.v1beta1.TxDecodeRequest
+
+
+
+
+
+
+```json
+{
+ "tx_bytes": "string"
+}
+
+```
+
+TxDecodeRequest is the request type for the Service.TxDecode
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx_bytes|string(byte)|false|none|tx_bytes is the raw transaction.|
+
+## cosmos.tx.v1beta1.TxDecodeResponse
+
+
+
+
+
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+}
+
+```
+
+TxDecodeResponse is the response type for the
+Service.TxDecode method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx|[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)|false|none|tx is the decoded transaction.|
+
+## cosmos.tx.v1beta1.TxEncodeAminoRequest
+
+
+
+
+
+
+```json
+{
+ "amino_json": "string"
+}
+
+```
+
+TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amino_json|string|false|none|none|
+
+## cosmos.tx.v1beta1.TxEncodeAminoResponse
+
+
+
+
+
+
+```json
+{
+ "amino_binary": "string"
+}
+
+```
+
+TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|amino_binary|string(byte)|false|none|none|
+
+## cosmos.tx.v1beta1.TxEncodeRequest
+
+
+
+
+
+
+```json
+{
+ "tx": {
+ "body": {
+ "messages": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "memo": "string",
+ "timeout_height": "string",
+ "extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ],
+ "non_critical_extension_options": [
+ {
+ "type_url": "string",
+ "value": "string"
+ }
+ ]
+ },
+ "auth_info": {
+ "signer_infos": [
+ {
+ "public_key": {},
+ "mode_info": {},
+ "sequence": "string"
+ }
+ ],
+ "fee": {
+ "amount": [
+ {}
+ ],
+ "gas_limit": "string",
+ "payer": "string",
+ "granter": "string"
+ },
+ "tip": {
+ "amount": [
+ {}
+ ],
+ "tipper": "string"
+ }
+ },
+ "signatures": [
+ "string"
+ ]
+ }
+}
+
+```
+
+TxEncodeRequest is the request type for the Service.TxEncode
+RPC method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx|[cosmos.tx.v1beta1.Tx](#schemacosmos.tx.v1beta1.tx)|false|none|tx is the transaction to encode.|
+
+## cosmos.tx.v1beta1.TxEncodeResponse
+
+
+
+
+
+
+```json
+{
+ "tx_bytes": "string"
+}
+
+```
+
+TxEncodeResponse is the response type for the
+Service.TxEncode method.
+
+Since: cosmos-sdk 0.47
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|tx_bytes|string(byte)|false|none|tx_bytes is the encoded transaction bytes.|
+
+## tendermint.abci.Event
+
+
+
+
+
+
+```json
+{
+ "type": "string",
+ "attributes": [
+ {
+ "key": "string",
+ "value": "string",
+ "index": true
+ }
+ ]
+}
+
+```
+
+Event allows application developers to attach additional information to
+ResponseFinalizeBlock and ResponseCheckTx.
+Later, transactions may be queried using these events.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|type|string|false|none|none|
+|attributes|[object]|false|none|none|
+|» key|string|false|none|none|
+|» value|string|false|none|none|
+|» index|boolean|false|none|none|
+
+## tendermint.abci.EventAttribute
+
+
+
+
+
+
+```json
+{
+ "key": "string",
+ "value": "string",
+ "index": true
+}
+
+```
+
+EventAttribute is a single key-value pair, associated with an event.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|key|string|false|none|none|
+|value|string|false|none|none|
+|index|boolean|false|none|none|
+
+## tendermint.crypto.PublicKey
+
+
+
+
+
+
+```json
+{
+ "ed25519": "string",
+ "secp256k1": "string"
+}
+
+```
+
+PublicKey defines the keys available for use with Validators
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|ed25519|string(byte)|false|none|none|
+|secp256k1|string(byte)|false|none|none|
+
+## tendermint.types.Block
+
+
+
+
+
+
+```json
+{
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {
+ "vote_a": {},
+ "vote_b": {},
+ "total_voting_power": "string",
+ "validator_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ },
+ "light_client_attack_evidence": {
+ "conflicting_block": {},
+ "common_height": "string",
+ "byzantine_validators": [
+ null
+ ],
+ "total_voting_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "BLOCK_ID_FLAG_UNKNOWN",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|header|object|false|none|Header defines the structure of a block header.|
+|» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»» block|string(uint64)|false|none|none|
+|»» app|string(uint64)|false|none|none|
+|» chain_id|string|false|none|none|
+|» height|string(int64)|false|none|none|
+|» time|string(date-time)|false|none|none|
+|» last_block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» last_commit_hash|string(byte)|false|none|none|
+|» data_hash|string(byte)|false|none|none|
+|» validators_hash|string(byte)|false|none|none|
+|» next_validators_hash|string(byte)|false|none|none|
+|» consensus_hash|string(byte)|false|none|none|
+|» app_hash|string(byte)|false|none|none|
+|» last_results_hash|string(byte)|false|none|none|
+|» evidence_hash|string(byte)|false|none|none|
+|» proposer_address|string(byte)|false|none|none|
+|data|object|false|none|none|
+|» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|evidence|object|false|none|none|
+|» evidence|[object]|false|none|none|
+|»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»» height|string(int64)|false|none|none|
+|»»»» round|integer(int32)|false|none|none|
+|»»»» block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» validator_index|integer(int32)|false|none|none|
+|»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»» height|string(int64)|false|none|none|
+|»»»» round|integer(int32)|false|none|none|
+|»»»» block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» validator_index|integer(int32)|false|none|none|
+|»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»» total_voting_power|string(int64)|false|none|none|
+|»»» validator_power|string(int64)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»» conflicting_block|object|false|none|none|
+|»»»» signed_header|object|false|none|none|
+|»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»» chain_id|string|false|none|none|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» time|string(date-time)|false|none|none|
+|»»»»»» last_block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» signatures|[object]|false|none|none|
+|»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»» signature|string(byte)|false|none|none|
+|»»»» validator_set|object|false|none|none|
+|»»»»» validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» proposer|object|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»» common_height|string(int64)|false|none|none|
+|»»» byzantine_validators|[object]|false|none|none|
+|»»»» address|string(byte)|false|none|none|
+|»»»» pub_key|object|false|none|none|
+|»»»»» ed25519|string(byte)|false|none|none|
+|»»»»» secp256k1|string(byte)|false|none|none|
+|»»»» voting_power|string(int64)|false|none|none|
+|»»»» proposer_priority|string(int64)|false|none|none|
+|»»» total_voting_power|string(int64)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|» height|string(int64)|false|none|none|
+|» round|integer(int32)|false|none|none|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» signatures|[object]|false|none|none|
+|»» block_id_flag|string|false|none|none|
+|»» validator_address|string(byte)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.BlockIDFlag
+
+
+
+
+
+
+```json
+"BLOCK_ID_FLAG_UNKNOWN"
+
+```
+
+BlockIdFlag indicates which BlockID the signature is for
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|BlockIdFlag indicates which BlockID the signature is for|string|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|BlockIdFlag indicates which BlockID the signature is for|BLOCK_ID_FLAG_UNKNOWN|
+|BlockIdFlag indicates which BlockID the signature is for|BLOCK_ID_FLAG_ABSENT|
+|BlockIdFlag indicates which BlockID the signature is for|BLOCK_ID_FLAG_COMMIT|
+|BlockIdFlag indicates which BlockID the signature is for|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.Commit
+
+
+
+
+
+
+```json
+{
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "BLOCK_ID_FLAG_UNKNOWN",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+}
+
+```
+
+Commit contains the evidence that a block was committed by a set of validators.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|string(int64)|false|none|none|
+|round|integer(int32)|false|none|none|
+|block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|signatures|[object]|false|none|none|
+|» block_id_flag|string|false|none|none|
+|» validator_address|string(byte)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+|» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.CommitSig
+
+
+
+
+
+
+```json
+{
+ "block_id_flag": "BLOCK_ID_FLAG_UNKNOWN",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+}
+
+```
+
+CommitSig is a part of the Vote included in a Commit.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_id_flag|string|false|none|none|
+|validator_address|string(byte)|false|none|none|
+|timestamp|string(date-time)|false|none|none|
+|signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.Data
+
+
+
+
+
+
+```json
+{
+ "txs": [
+ "string"
+ ]
+}
+
+```
+
+Data contains the set of transactions included in the block
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+
+## tendermint.types.DuplicateVoteEvidence
+
+
+
+
+
+
+```json
+{
+ "vote_a": {
+ "type": "SIGNED_MSG_TYPE_UNKNOWN",
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "timestamp": "2019-08-24T14:15:22Z",
+ "validator_address": "string",
+ "validator_index": 0,
+ "signature": "string",
+ "extension": "string",
+ "extension_signature": "string"
+ },
+ "vote_b": {
+ "type": "SIGNED_MSG_TYPE_UNKNOWN",
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "timestamp": "2019-08-24T14:15:22Z",
+ "validator_address": "string",
+ "validator_index": 0,
+ "signature": "string",
+ "extension": "string",
+ "extension_signature": "string"
+ },
+ "total_voting_power": "string",
+ "validator_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+}
+
+```
+
+DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|» height|string(int64)|false|none|none|
+|» round|integer(int32)|false|none|none|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+|» validator_address|string(byte)|false|none|none|
+|» validator_index|integer(int32)|false|none|none|
+|» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|»» validator_address|string(byte)|false|none|none|
+|»» validator_index|integer(int32)|false|none|none|
+|»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|»» validator_address|string(byte)|false|none|none|
+|»» validator_index|integer(int32)|false|none|none|
+|»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|» total_voting_power|string(int64)|false|none|none|
+|» validator_power|string(int64)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+|light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|» conflicting_block|object|false|none|none|
+|»» signed_header|object|false|none|none|
+|»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»» block|string(uint64)|false|none|none|
+|»»»»» app|string(uint64)|false|none|none|
+|»»»» chain_id|string|false|none|none|
+|»»»» height|string(int64)|false|none|none|
+|»»»» time|string(date-time)|false|none|none|
+|»»»» last_block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»» data_hash|string(byte)|false|none|none|
+|»»»» validators_hash|string(byte)|false|none|none|
+|»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»» consensus_hash|string(byte)|false|none|none|
+|»»»» app_hash|string(byte)|false|none|none|
+|»»»» last_results_hash|string(byte)|false|none|none|
+|»»»» evidence_hash|string(byte)|false|none|none|
+|»»»» proposer_address|string(byte)|false|none|none|
+|»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»» height|string(int64)|false|none|none|
+|»»»» round|integer(int32)|false|none|none|
+|»»»» block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» signatures|[object]|false|none|none|
+|»»»»» block_id_flag|string|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» signature|string(byte)|false|none|none|
+|»» validator_set|object|false|none|none|
+|»»» validators|[object]|false|none|none|
+|»»»» address|string(byte)|false|none|none|
+|»»»» pub_key|object|false|none|none|
+|»»»»» ed25519|string(byte)|false|none|none|
+|»»»»» secp256k1|string(byte)|false|none|none|
+|»»»» voting_power|string(int64)|false|none|none|
+|»»»» proposer_priority|string(int64)|false|none|none|
+|»»» proposer|object|false|none|none|
+|»»»» address|string(byte)|false|none|none|
+|»»»» pub_key|object|false|none|none|
+|»»»»» ed25519|string(byte)|false|none|none|
+|»»»»» secp256k1|string(byte)|false|none|none|
+|»»»» voting_power|string(int64)|false|none|none|
+|»»»» proposer_priority|string(int64)|false|none|none|
+|»»» total_voting_power|string(int64)|false|none|none|
+|» common_height|string(int64)|false|none|none|
+|» byzantine_validators|[object]|false|none|none|
+|»» address|string(byte)|false|none|none|
+|»» pub_key|object|false|none|none|
+|»»» ed25519|string(byte)|false|none|none|
+|»»» secp256k1|string(byte)|false|none|none|
+|»» voting_power|string(int64)|false|none|none|
+|»» proposer_priority|string(int64)|false|none|none|
+|» total_voting_power|string(int64)|false|none|none|
+|» timestamp|string(date-time)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.EvidenceList
+
+
+
+
+
+
+```json
+{
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {
+ "vote_a": {
+ "type": "[",
+ "height": "string",
+ "round": 0,
+ "block_id": {},
+ "timestamp": "2019-08-24T14:15:22Z",
+ "validator_address": "string",
+ "validator_index": 0,
+ "signature": "string",
+ "extension": "string",
+ "extension_signature": "string"
+ },
+ "vote_b": {
+ "type": "[",
+ "height": "string",
+ "round": 0,
+ "block_id": {},
+ "timestamp": "2019-08-24T14:15:22Z",
+ "validator_address": "string",
+ "validator_index": 0,
+ "signature": "string",
+ "extension": "string",
+ "extension_signature": "string"
+ },
+ "total_voting_power": "string",
+ "validator_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ },
+ "light_client_attack_evidence": {
+ "conflicting_block": {
+ "signed_header": {},
+ "validator_set": {}
+ },
+ "common_height": "string",
+ "byzantine_validators": [
+ {
+ "address": null,
+ "pub_key": null,
+ "voting_power": null,
+ "proposer_priority": null
+ }
+ ],
+ "total_voting_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+ }
+ ]
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|evidence|[object]|false|none|none|
+|» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» validator_index|integer(int32)|false|none|none|
+|»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» validator_index|integer(int32)|false|none|none|
+|»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»» total_voting_power|string(int64)|false|none|none|
+|»» validator_power|string(int64)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»» conflicting_block|object|false|none|none|
+|»»» signed_header|object|false|none|none|
+|»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»» block|string(uint64)|false|none|none|
+|»»»»»» app|string(uint64)|false|none|none|
+|»»»»» chain_id|string|false|none|none|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» time|string(date-time)|false|none|none|
+|»»»»» last_block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»» data_hash|string(byte)|false|none|none|
+|»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»» app_hash|string(byte)|false|none|none|
+|»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»» proposer_address|string(byte)|false|none|none|
+|»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» signatures|[object]|false|none|none|
+|»»»»»» block_id_flag|string|false|none|none|
+|»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»» signature|string(byte)|false|none|none|
+|»»» validator_set|object|false|none|none|
+|»»»» validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» proposer|object|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»» common_height|string(int64)|false|none|none|
+|»» byzantine_validators|[object]|false|none|none|
+|»»» address|string(byte)|false|none|none|
+|»»» pub_key|object|false|none|none|
+|»»»» ed25519|string(byte)|false|none|none|
+|»»»» secp256k1|string(byte)|false|none|none|
+|»»» voting_power|string(int64)|false|none|none|
+|»»» proposer_priority|string(int64)|false|none|none|
+|»» total_voting_power|string(int64)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.LightBlock
+
+
+
+
+
+
+```json
+{
+ "signed_header": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ },
+ "validator_set": {
+ "validators": [
+ {
+ "address": "string",
+ "pub_key": {
+ "ed25519": "string",
+ "secp256k1": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ }
+ ],
+ "proposer": {
+ "address": "string",
+ "pub_key": {
+ "ed25519": "string",
+ "secp256k1": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ },
+ "total_voting_power": "string"
+ }
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|signed_header|object|false|none|none|
+|» header|object|false|none|Header defines the structure of a block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string(byte)|false|none|none|
+|» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+|validator_set|object|false|none|none|
+|» validators|[object]|false|none|none|
+|»» address|string(byte)|false|none|none|
+|»» pub_key|object|false|none|none|
+|»»» ed25519|string(byte)|false|none|none|
+|»»» secp256k1|string(byte)|false|none|none|
+|»» voting_power|string(int64)|false|none|none|
+|»» proposer_priority|string(int64)|false|none|none|
+|» proposer|object|false|none|none|
+|»» address|string(byte)|false|none|none|
+|»» pub_key|object|false|none|none|
+|»»» ed25519|string(byte)|false|none|none|
+|»»» secp256k1|string(byte)|false|none|none|
+|»» voting_power|string(int64)|false|none|none|
+|»» proposer_priority|string(int64)|false|none|none|
+|» total_voting_power|string(int64)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.LightClientAttackEvidence
+
+
+
+
+
+
+```json
+{
+ "conflicting_block": {
+ "signed_header": {
+ "header": {
+ "version": {
+ "block": null,
+ "app": null
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": null,
+ "part_set_header": null
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": null,
+ "part_set_header": null
+ },
+ "signatures": [
+ {}
+ ]
+ }
+ },
+ "validator_set": {
+ "validators": [
+ {
+ "address": "string",
+ "pub_key": {},
+ "voting_power": "string",
+ "proposer_priority": "string"
+ }
+ ],
+ "proposer": {
+ "address": "string",
+ "pub_key": {
+ "ed25519": null,
+ "secp256k1": null
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ },
+ "total_voting_power": "string"
+ }
+ },
+ "common_height": "string",
+ "byzantine_validators": [
+ {
+ "address": "string",
+ "pub_key": {
+ "ed25519": "string",
+ "secp256k1": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ }
+ ],
+ "total_voting_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+}
+
+```
+
+LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|conflicting_block|object|false|none|none|
+|» signed_header|object|false|none|none|
+|»» header|object|false|none|Header defines the structure of a block header.|
+|»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»» block|string(uint64)|false|none|none|
+|»»»» app|string(uint64)|false|none|none|
+|»»» chain_id|string|false|none|none|
+|»»» height|string(int64)|false|none|none|
+|»»» time|string(date-time)|false|none|none|
+|»»» last_block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» last_commit_hash|string(byte)|false|none|none|
+|»»» data_hash|string(byte)|false|none|none|
+|»»» validators_hash|string(byte)|false|none|none|
+|»»» next_validators_hash|string(byte)|false|none|none|
+|»»» consensus_hash|string(byte)|false|none|none|
+|»»» app_hash|string(byte)|false|none|none|
+|»»» last_results_hash|string(byte)|false|none|none|
+|»»» evidence_hash|string(byte)|false|none|none|
+|»»» proposer_address|string(byte)|false|none|none|
+|»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»» height|string(int64)|false|none|none|
+|»»» round|integer(int32)|false|none|none|
+|»»» block_id|object|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»»»» part_set_header|object|false|none|none|
+|»»»»» total|integer(int64)|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»» signatures|[object]|false|none|none|
+|»»»» block_id_flag|string|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» signature|string(byte)|false|none|none|
+|» validator_set|object|false|none|none|
+|»» validators|[object]|false|none|none|
+|»»» address|string(byte)|false|none|none|
+|»»» pub_key|object|false|none|none|
+|»»»» ed25519|string(byte)|false|none|none|
+|»»»» secp256k1|string(byte)|false|none|none|
+|»»» voting_power|string(int64)|false|none|none|
+|»»» proposer_priority|string(int64)|false|none|none|
+|»» proposer|object|false|none|none|
+|»»» address|string(byte)|false|none|none|
+|»»» pub_key|object|false|none|none|
+|»»»» ed25519|string(byte)|false|none|none|
+|»»»» secp256k1|string(byte)|false|none|none|
+|»»» voting_power|string(int64)|false|none|none|
+|»»» proposer_priority|string(int64)|false|none|none|
+|»» total_voting_power|string(int64)|false|none|none|
+|common_height|string(int64)|false|none|none|
+|byzantine_validators|[object]|false|none|none|
+|» address|string(byte)|false|none|none|
+|» pub_key|object|false|none|none|
+|»» ed25519|string(byte)|false|none|none|
+|»» secp256k1|string(byte)|false|none|none|
+|» voting_power|string(int64)|false|none|none|
+|» proposer_priority|string(int64)|false|none|none|
+|total_voting_power|string(int64)|false|none|none|
+|timestamp|string(date-time)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.SignedHeader
+
+
+
+
+
+
+```json
+{
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "BLOCK_ID_FLAG_UNKNOWN",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+}
+
+```
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|header|object|false|none|Header defines the structure of a block header.|
+|» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»» block|string(uint64)|false|none|none|
+|»» app|string(uint64)|false|none|none|
+|» chain_id|string|false|none|none|
+|» height|string(int64)|false|none|none|
+|» time|string(date-time)|false|none|none|
+|» last_block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» last_commit_hash|string(byte)|false|none|none|
+|» data_hash|string(byte)|false|none|none|
+|» validators_hash|string(byte)|false|none|none|
+|» next_validators_hash|string(byte)|false|none|none|
+|» consensus_hash|string(byte)|false|none|none|
+|» app_hash|string(byte)|false|none|none|
+|» last_results_hash|string(byte)|false|none|none|
+|» evidence_hash|string(byte)|false|none|none|
+|» proposer_address|string(byte)|false|none|none|
+|commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|» height|string(int64)|false|none|none|
+|» round|integer(int32)|false|none|none|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» signatures|[object]|false|none|none|
+|»» block_id_flag|string|false|none|none|
+|»» validator_address|string(byte)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## tendermint.types.SignedMsgType
+
+
+
+
+
+
+```json
+"SIGNED_MSG_TYPE_UNKNOWN"
+
+```
+
+SignedMsgType is a type of signed message in the consensus.
+
+ - SIGNED_MSG_TYPE_PREVOTE: Votes
+ - SIGNED_MSG_TYPE_PROPOSAL: Proposals
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|*anonymous*|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|height|string(int64)|false|none|none|
+|round|integer(int32)|false|none|none|
+|block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|timestamp|string(date-time)|false|none|none|
+|validator_address|string(byte)|false|none|none|
+|validator_index|integer(int32)|false|none|none|
+|signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+
+## cosmos.upgrade.v1beta1.ModuleVersion
+
+
+
+
+
+
+```json
+{
+ "name": "string",
+ "version": "string"
+}
+
+```
+
+ModuleVersion specifies a module and its consensus version.
+
+Since: cosmos-sdk 0.43
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|name|string|false|none|none|
+|version|string(uint64)|false|none|none|
+
+## cosmos.upgrade.v1beta1.Plan
+
+
+
+
+
+
+```json
+{
+ "name": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "height": "string",
+ "info": "string",
+ "upgraded_client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+}
+
+```
+
+Plan specifies information about a planned upgrade and when it should occur.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|name|string|false|none|Sets the name for the upgrade. This name will be used by the upgraded version of the software to apply any special "on-upgrade" commands during the first BeginBlock method after the upgrade is applied. It is also used to detect whether a software version can handle a given upgrade. If no upgrade handler with this name has been set in the software, it will be assumed that the software is out-of-date when the upgrade Time or Height is reached and the software will exit.|
+|time|string(date-time)|false|none|Deprecated: Time based upgrades have been deprecated. Time based upgrade logic has been removed from the SDK. If this field is not empty, an error will be thrown.|
+|height|string(int64)|false|none|The height at which the upgrade must be performed.|
+|info|string|false|none|none|
+|upgraded_client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.upgrade.v1beta1.QueryAppliedPlanResponse
+
+
+
+
+
+
+```json
+{
+ "height": "string"
+}
+
+```
+
+QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|height|string(int64)|false|none|height is the block height at which the plan was applied.|
+
+## cosmos.upgrade.v1beta1.QueryAuthorityResponse
+
+
+
+
+
+
+```json
+{
+ "address": "string"
+}
+
+```
+
+QueryAuthorityResponse is the response type for Query/Authority
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address|string|false|none|none|
+
+## cosmos.upgrade.v1beta1.QueryCurrentPlanResponse
+
+
+
+
+
+
+```json
+{
+ "plan": {
+ "name": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "height": "string",
+ "info": "string",
+ "upgraded_client_state": {
+ "type_url": "string",
+ "value": "string"
+ }
+ }
+}
+
+```
+
+QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC
+method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|plan|object|false|none|plan is the current upgrade plan.|
+|» name|string|false|none|Sets the name for the upgrade. This name will be used by the upgraded version of the software to apply any special "on-upgrade" commands during the first BeginBlock method after the upgrade is applied. It is also used to detect whether a software version can handle a given upgrade. If no upgrade handler with this name has been set in the software, it will be assumed that the software is out-of-date when the upgrade Time or Height is reached and the software will exit.|
+|» time|string(date-time)|false|none|Deprecated: Time based upgrades have been deprecated. Time based upgrade logic has been removed from the SDK. If this field is not empty, an error will be thrown.|
+|» height|string(int64)|false|none|The height at which the upgrade must be performed.|
+|» info|string|false|none|none|
+|» upgraded_client_state|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+
+## cosmos.upgrade.v1beta1.QueryModuleVersionsResponse
+
+
+
+
+
+
+```json
+{
+ "module_versions": [
+ {
+ "name": "string",
+ "version": "string"
+ }
+ ]
+}
+
+```
+
+QueryModuleVersionsResponse is the response type for the Query/ModuleVersions
+RPC method.
+
+Since: cosmos-sdk 0.43
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|module_versions|[object]|false|none|module_versions is a list of module names with their consensus versions.|
+|» name|string|false|none|none|
+|» version|string(uint64)|false|none|none|
+
+## cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse
+
+
+
+
+
+
+```json
+{
+ "upgraded_consensus_state": "string"
+}
+
+```
+
+QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState
+RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|upgraded_consensus_state|string(byte)|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.ABCIQueryResponse
+
+
+
+
+
+
+```json
+{
+ "code": 0,
+ "log": "string",
+ "info": "string",
+ "index": "string",
+ "key": "string",
+ "value": "string",
+ "proof_ops": {
+ "ops": [
+ {
+ "type": "string",
+ "key": "string",
+ "data": "string"
+ }
+ ]
+ },
+ "height": "string",
+ "codespace": "string"
+}
+
+```
+
+ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.
+
+Note: This type is a duplicate of the ResponseQuery proto type defined in
+Tendermint.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|code|integer(int64)|false|none|none|
+|log|string|false|none|none|
+|info|string|false|none|none|
+|index|string(int64)|false|none|none|
+|key|string(byte)|false|none|none|
+|value|string(byte)|false|none|none|
+|proof_ops|object|false|none|ProofOps is Merkle proof defined by the list of ProofOps.
Note: This type is a duplicate of the ProofOps proto type defined in Tendermint.|
+|» ops|[object]|false|none|none|
+|»» type|string|false|none|none|
+|»» key|string(byte)|false|none|none|
+|»» data|string(byte)|false|none|none|
+|height|string(int64)|false|none|none|
+|codespace|string|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.Block
+
+
+
+
+
+
+```json
+{
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {
+ "vote_a": {},
+ "vote_b": {},
+ "total_voting_power": "string",
+ "validator_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ },
+ "light_client_attack_evidence": {
+ "conflicting_block": {},
+ "common_height": "string",
+ "byzantine_validators": [
+ null
+ ],
+ "total_voting_power": "string",
+ "timestamp": "2019-08-24T14:15:22Z"
+ }
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "BLOCK_ID_FLAG_UNKNOWN",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+}
+
+```
+
+Block is tendermint type Block, with the Header proposer address
+field converted to bech32 string.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|header|object|false|none|Header defines the structure of a Tendermint block header.|
+|» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»» block|string(uint64)|false|none|none|
+|»» app|string(uint64)|false|none|none|
+|» chain_id|string|false|none|none|
+|» height|string(int64)|false|none|none|
+|» time|string(date-time)|false|none|none|
+|» last_block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» last_commit_hash|string(byte)|false|none|none|
+|» data_hash|string(byte)|false|none|none|
+|» validators_hash|string(byte)|false|none|none|
+|» next_validators_hash|string(byte)|false|none|none|
+|» consensus_hash|string(byte)|false|none|none|
+|» app_hash|string(byte)|false|none|none|
+|» last_results_hash|string(byte)|false|none|none|
+|» evidence_hash|string(byte)|false|none|none|
+|» proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+|data|object|false|none|none|
+|» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|evidence|object|false|none|none|
+|» evidence|[object]|false|none|none|
+|»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»» height|string(int64)|false|none|none|
+|»»»» round|integer(int32)|false|none|none|
+|»»»» block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» validator_index|integer(int32)|false|none|none|
+|»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»» height|string(int64)|false|none|none|
+|»»»» round|integer(int32)|false|none|none|
+|»»»» block_id|object|false|none|none|
+|»»»»» hash|string(byte)|false|none|none|
+|»»»»» part_set_header|object|false|none|none|
+|»»»»»» total|integer(int64)|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»»» validator_address|string(byte)|false|none|none|
+|»»»» validator_index|integer(int32)|false|none|none|
+|»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»» total_voting_power|string(int64)|false|none|none|
+|»»» validator_power|string(int64)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»» conflicting_block|object|false|none|none|
+|»»»» signed_header|object|false|none|none|
+|»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»» chain_id|string|false|none|none|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» time|string(date-time)|false|none|none|
+|»»»»»» last_block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»» height|string(int64)|false|none|none|
+|»»»»»» round|integer(int32)|false|none|none|
+|»»»»»» block_id|object|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» signatures|[object]|false|none|none|
+|»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»» signature|string(byte)|false|none|none|
+|»»»» validator_set|object|false|none|none|
+|»»»»» validators|[object]|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» proposer|object|false|none|none|
+|»»»»»» address|string(byte)|false|none|none|
+|»»»»»» pub_key|object|false|none|none|
+|»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»» total_voting_power|string(int64)|false|none|none|
+|»»» common_height|string(int64)|false|none|none|
+|»»» byzantine_validators|[object]|false|none|none|
+|»»»» address|string(byte)|false|none|none|
+|»»»» pub_key|object|false|none|none|
+|»»»»» ed25519|string(byte)|false|none|none|
+|»»»»» secp256k1|string(byte)|false|none|none|
+|»»»» voting_power|string(int64)|false|none|none|
+|»»»» proposer_priority|string(int64)|false|none|none|
+|»»» total_voting_power|string(int64)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|» height|string(int64)|false|none|none|
+|» round|integer(int32)|false|none|none|
+|» block_id|object|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|»» part_set_header|object|false|none|none|
+|»»» total|integer(int64)|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|» signatures|[object]|false|none|none|
+|»» block_id_flag|string|false|none|none|
+|»» validator_address|string(byte)|false|none|none|
+|»» timestamp|string(date-time)|false|none|none|
+|»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse
+
+
+
+
+
+
+```json
+{
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "block": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {},
+ "light_client_attack_evidence": {}
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ },
+ "sdk_block": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {},
+ "light_client_attack_evidence": {}
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ }
+}
+
+```
+
+GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|block|object|false|none|none|
+|» header|object|false|none|Header defines the structure of a block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string(byte)|false|none|none|
+|» data|object|false|none|none|
+|»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|» evidence|object|false|none|none|
+|»» evidence|[object]|false|none|none|
+|»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» validator_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»» conflicting_block|object|false|none|none|
+|»»»»» signed_header|object|false|none|none|
+|»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»» chain_id|string|false|none|none|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»» block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»» validator_set|object|false|none|none|
+|»»»»»» validators|[object]|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» proposer|object|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» common_height|string(int64)|false|none|none|
+|»»»» byzantine_validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+|sdk_block|object|false|none|Block is tendermint type Block, with the Header proposer address field converted to bech32 string.|
+|» header|object|false|none|Header defines the structure of a Tendermint block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+|» data|object|false|none|none|
+|»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|» evidence|object|false|none|none|
+|»» evidence|[object]|false|none|none|
+|»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» validator_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»» conflicting_block|object|false|none|none|
+|»»»»» signed_header|object|false|none|none|
+|»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»» chain_id|string|false|none|none|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»» block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»» validator_set|object|false|none|none|
+|»»»»»» validators|[object]|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» proposer|object|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» common_height|string(int64)|false|none|none|
+|»»»» byzantine_validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## cosmos.base.tendermint.v1beta1.GetLatestBlockResponse
+
+
+
+
+
+
+```json
+{
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "block": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {},
+ "light_client_attack_evidence": {}
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ },
+ "sdk_block": {
+ "header": {
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+ },
+ "data": {
+ "txs": [
+ "string"
+ ]
+ },
+ "evidence": {
+ "evidence": [
+ {
+ "duplicate_vote_evidence": {},
+ "light_client_attack_evidence": {}
+ }
+ ]
+ },
+ "last_commit": {
+ "height": "string",
+ "round": 0,
+ "block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": null,
+ "hash": null
+ }
+ },
+ "signatures": [
+ {
+ "block_id_flag": "[",
+ "validator_address": "string",
+ "timestamp": "2019-08-24T14:15:22Z",
+ "signature": "string"
+ }
+ ]
+ }
+ }
+}
+
+```
+
+GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|block|object|false|none|none|
+|» header|object|false|none|Header defines the structure of a block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string(byte)|false|none|none|
+|» data|object|false|none|none|
+|»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|» evidence|object|false|none|none|
+|»» evidence|[object]|false|none|none|
+|»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» validator_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»» conflicting_block|object|false|none|none|
+|»»»»» signed_header|object|false|none|none|
+|»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»» chain_id|string|false|none|none|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»» block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»» validator_set|object|false|none|none|
+|»»»»»» validators|[object]|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» proposer|object|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» common_height|string(int64)|false|none|none|
+|»»»» byzantine_validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+|sdk_block|object|false|none|Block is tendermint type Block, with the Header proposer address field converted to bech32 string.|
+|» header|object|false|none|Header defines the structure of a Tendermint block header.|
+|»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»» block|string(uint64)|false|none|none|
+|»»» app|string(uint64)|false|none|none|
+|»» chain_id|string|false|none|none|
+|»» height|string(int64)|false|none|none|
+|»» time|string(date-time)|false|none|none|
+|»» last_block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» last_commit_hash|string(byte)|false|none|none|
+|»» data_hash|string(byte)|false|none|none|
+|»» validators_hash|string(byte)|false|none|none|
+|»» next_validators_hash|string(byte)|false|none|none|
+|»» consensus_hash|string(byte)|false|none|none|
+|»» app_hash|string(byte)|false|none|none|
+|»» last_results_hash|string(byte)|false|none|none|
+|»» evidence_hash|string(byte)|false|none|none|
+|»» proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+|» data|object|false|none|none|
+|»» txs|[string]|false|none|Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.|
+|» evidence|object|false|none|none|
+|»» evidence|[object]|false|none|none|
+|»»» duplicate_vote_evidence|object|false|none|DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.|
+|»»»» vote_a|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» vote_b|object|false|none|Vote represents a prevote or precommit vote from validators for consensus.|
+|»»»»» type|string|false|none|SignedMsgType is a type of signed message in the consensus.
- SIGNED_MSG_TYPE_PREVOTE: Votes - SIGNED_MSG_TYPE_PROPOSAL: Proposals|
+|»»»»» height|string(int64)|false|none|none|
+|»»»»» round|integer(int32)|false|none|none|
+|»»»»» block_id|object|false|none|none|
+|»»»»»» hash|string(byte)|false|none|none|
+|»»»»»» part_set_header|object|false|none|none|
+|»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»» hash|string(byte)|false|none|none|
+|»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»» validator_address|string(byte)|false|none|none|
+|»»»»» validator_index|integer(int32)|false|none|none|
+|»»»»» signature|string(byte)|false|none|Vote signature by the validator if they participated in consensus for the associated block.|
+|»»»»» extension|string(byte)|false|none|Vote extension provided by the application. Only valid for precommit messages.|
+|»»»»» extension_signature|string(byte)|false|none|Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» validator_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|»»» light_client_attack_evidence|object|false|none|LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.|
+|»»»» conflicting_block|object|false|none|none|
+|»»»»» signed_header|object|false|none|none|
+|»»»»»» header|object|false|none|Header defines the structure of a block header.|
+|»»»»»»» version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|»»»»»»»» block|string(uint64)|false|none|none|
+|»»»»»»»» app|string(uint64)|false|none|none|
+|»»»»»»» chain_id|string|false|none|none|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» time|string(date-time)|false|none|none|
+|»»»»»»» last_block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» last_commit_hash|string(byte)|false|none|none|
+|»»»»»»» data_hash|string(byte)|false|none|none|
+|»»»»»»» validators_hash|string(byte)|false|none|none|
+|»»»»»»» next_validators_hash|string(byte)|false|none|none|
+|»»»»»»» consensus_hash|string(byte)|false|none|none|
+|»»»»»»» app_hash|string(byte)|false|none|none|
+|»»»»»»» last_results_hash|string(byte)|false|none|none|
+|»»»»»»» evidence_hash|string(byte)|false|none|none|
+|»»»»»»» proposer_address|string(byte)|false|none|none|
+|»»»»»» commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»»»»»»» height|string(int64)|false|none|none|
+|»»»»»»» round|integer(int32)|false|none|none|
+|»»»»»»» block_id|object|false|none|none|
+|»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»»» part_set_header|object|false|none|none|
+|»»»»»»»»» total|integer(int64)|false|none|none|
+|»»»»»»»»» hash|string(byte)|false|none|none|
+|»»»»»»» signatures|[object]|false|none|none|
+|»»»»»»»» block_id_flag|string|false|none|none|
+|»»»»»»»» validator_address|string(byte)|false|none|none|
+|»»»»»»»» timestamp|string(date-time)|false|none|none|
+|»»»»»»»» signature|string(byte)|false|none|none|
+|»»»»» validator_set|object|false|none|none|
+|»»»»»» validators|[object]|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» proposer|object|false|none|none|
+|»»»»»»» address|string(byte)|false|none|none|
+|»»»»»»» pub_key|object|false|none|none|
+|»»»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»»»» voting_power|string(int64)|false|none|none|
+|»»»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» common_height|string(int64)|false|none|none|
+|»»»» byzantine_validators|[object]|false|none|none|
+|»»»»» address|string(byte)|false|none|none|
+|»»»»» pub_key|object|false|none|none|
+|»»»»»» ed25519|string(byte)|false|none|none|
+|»»»»»» secp256k1|string(byte)|false|none|none|
+|»»»»» voting_power|string(int64)|false|none|none|
+|»»»»» proposer_priority|string(int64)|false|none|none|
+|»»»» total_voting_power|string(int64)|false|none|none|
+|»»»» timestamp|string(date-time)|false|none|none|
+|» last_commit|object|false|none|Commit contains the evidence that a block was committed by a set of validators.|
+|»» height|string(int64)|false|none|none|
+|»» round|integer(int32)|false|none|none|
+|»» block_id|object|false|none|none|
+|»»» hash|string(byte)|false|none|none|
+|»»» part_set_header|object|false|none|none|
+|»»»» total|integer(int64)|false|none|none|
+|»»»» hash|string(byte)|false|none|none|
+|»» signatures|[object]|false|none|none|
+|»»» block_id_flag|string|false|none|none|
+|»»» validator_address|string(byte)|false|none|none|
+|»»» timestamp|string(date-time)|false|none|none|
+|»»» signature|string(byte)|false|none|none|
+
+#### Enumerated Values
+
+|Property|Value|
+|---|---|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|type|SIGNED_MSG_TYPE_UNKNOWN|
+|type|SIGNED_MSG_TYPE_PREVOTE|
+|type|SIGNED_MSG_TYPE_PRECOMMIT|
+|type|SIGNED_MSG_TYPE_PROPOSAL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+|block_id_flag|BLOCK_ID_FLAG_UNKNOWN|
+|block_id_flag|BLOCK_ID_FLAG_ABSENT|
+|block_id_flag|BLOCK_ID_FLAG_COMMIT|
+|block_id_flag|BLOCK_ID_FLAG_NIL|
+
+## cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse
+
+
+
+
+
+
+```json
+{
+ "block_height": "string",
+ "validators": [
+ {
+ "address": "string",
+ "pub_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_height|string(int64)|false|none|none|
+|validators|[object]|false|none|none|
+|» address|string|false|none|none|
+|» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» voting_power|string(int64)|false|none|none|
+|» proposer_priority|string(int64)|false|none|none|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.GetNodeInfoResponse
+
+
+
+
+
+
+```json
+{
+ "default_node_info": {
+ "protocol_version": {
+ "p2p": "string",
+ "block": "string",
+ "app": "string"
+ },
+ "default_node_id": "string",
+ "listen_addr": "string",
+ "network": "string",
+ "version": "string",
+ "channels": "string",
+ "moniker": "string",
+ "other": {
+ "tx_index": "string",
+ "rpc_address": "string"
+ }
+ },
+ "application_version": {
+ "name": "string",
+ "app_name": "string",
+ "version": "string",
+ "git_commit": "string",
+ "build_tags": "string",
+ "go_version": "string",
+ "build_deps": [
+ {
+ "path": "string",
+ "version": "string",
+ "sum": "string"
+ }
+ ],
+ "cosmos_sdk_version": "string"
+ }
+}
+
+```
+
+GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|default_node_info|object|false|none|none|
+|» protocol_version|object|false|none|none|
+|»» p2p|string(uint64)|false|none|none|
+|»» block|string(uint64)|false|none|none|
+|»» app|string(uint64)|false|none|none|
+|» default_node_id|string|false|none|none|
+|» listen_addr|string|false|none|none|
+|» network|string|false|none|none|
+|» version|string|false|none|none|
+|» channels|string(byte)|false|none|none|
+|» moniker|string|false|none|none|
+|» other|object|false|none|none|
+|»» tx_index|string|false|none|none|
+|»» rpc_address|string|false|none|none|
+|application_version|object|false|none|VersionInfo is the type for the GetNodeInfoResponse message.|
+|» name|string|false|none|none|
+|» app_name|string|false|none|none|
+|» version|string|false|none|none|
+|» git_commit|string|false|none|none|
+|» build_tags|string|false|none|none|
+|» go_version|string|false|none|none|
+|» build_deps|[object]|false|none|none|
+|»» Module is the type for VersionInfo|object|false|none|none|
+|»»» path|string|false|none|none|
+|»»» version|string|false|none|none|
+|»»» sum|string|false|none|none|
+|» cosmos_sdk_version|string|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.GetSyncingResponse
+
+
+
+
+
+
+```json
+{
+ "syncing": true
+}
+
+```
+
+GetSyncingResponse is the response type for the Query/GetSyncing RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|syncing|boolean|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse
+
+
+
+
+
+
+```json
+{
+ "block_height": "string",
+ "validators": [
+ {
+ "address": "string",
+ "pub_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+ }
+ ],
+ "pagination": {
+ "next_key": "string",
+ "total": "string"
+ }
+}
+
+```
+
+GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|block_height|string(int64)|false|none|none|
+|validators|[object]|false|none|none|
+|» address|string|false|none|none|
+|» pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|»» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.|
+|»» value|string(byte)|false|none|Must be a valid serialized protocol buffer of the above specified type.|
+|» voting_power|string(int64)|false|none|none|
+|» proposer_priority|string(int64)|false|none|none|
+|pagination|object|false|none|pagination defines an pagination for the response.|
+|» next_key|string(byte)|false|none|next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results.|
+|» total|string(uint64)|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.Header
+
+
+
+
+
+
+```json
+{
+ "version": {
+ "block": "string",
+ "app": "string"
+ },
+ "chain_id": "string",
+ "height": "string",
+ "time": "2019-08-24T14:15:22Z",
+ "last_block_id": {
+ "hash": "string",
+ "part_set_header": {
+ "total": 0,
+ "hash": "string"
+ }
+ },
+ "last_commit_hash": "string",
+ "data_hash": "string",
+ "validators_hash": "string",
+ "next_validators_hash": "string",
+ "consensus_hash": "string",
+ "app_hash": "string",
+ "last_results_hash": "string",
+ "evidence_hash": "string",
+ "proposer_address": "string"
+}
+
+```
+
+Header defines the structure of a Tendermint block header.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|version|object|false|none|Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.|
+|» block|string(uint64)|false|none|none|
+|» app|string(uint64)|false|none|none|
+|chain_id|string|false|none|none|
+|height|string(int64)|false|none|none|
+|time|string(date-time)|false|none|none|
+|last_block_id|object|false|none|none|
+|» hash|string(byte)|false|none|none|
+|» part_set_header|object|false|none|none|
+|»» total|integer(int64)|false|none|none|
+|»» hash|string(byte)|false|none|none|
+|last_commit_hash|string(byte)|false|none|none|
+|data_hash|string(byte)|false|none|none|
+|validators_hash|string(byte)|false|none|none|
+|next_validators_hash|string(byte)|false|none|none|
+|consensus_hash|string(byte)|false|none|none|
+|app_hash|string(byte)|false|none|none|
+|last_results_hash|string(byte)|false|none|none|
+|evidence_hash|string(byte)|false|none|none|
+|proposer_address|string|false|none|proposer_address is the original block proposer address, formatted as a Bech32 string. In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string for better UX.|
+
+## cosmos.base.tendermint.v1beta1.Module
+
+
+
+
+
+
+```json
+{
+ "path": "string",
+ "version": "string",
+ "sum": "string"
+}
+
+```
+
+Module is the type for VersionInfo
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|path|string|false|none|none|
+|version|string|false|none|none|
+|sum|string|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.ProofOp
+
+
+
+
+
+
+```json
+{
+ "type": "string",
+ "key": "string",
+ "data": "string"
+}
+
+```
+
+ProofOp defines an operation used for calculating Merkle root. The data could
+be arbitrary format, providing necessary data for example neighbouring node
+hash.
+
+Note: This type is a duplicate of the ProofOp proto type defined in Tendermint.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|type|string|false|none|none|
+|key|string(byte)|false|none|none|
+|data|string(byte)|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.ProofOps
+
+
+
+
+
+
+```json
+{
+ "ops": [
+ {
+ "type": "string",
+ "key": "string",
+ "data": "string"
+ }
+ ]
+}
+
+```
+
+ProofOps is Merkle proof defined by the list of ProofOps.
+
+Note: This type is a duplicate of the ProofOps proto type defined in Tendermint.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|ops|[object]|false|none|none|
+|» type|string|false|none|none|
+|» key|string(byte)|false|none|none|
+|» data|string(byte)|false|none|none|
+
+## cosmos.base.tendermint.v1beta1.Validator
+
+
+
+
+
+
+```json
+{
+ "address": "string",
+ "pub_key": {
+ "type_url": "string",
+ "value": "string"
+ },
+ "voting_power": "string",
+ "proposer_priority": "string"
+}
+
+```
+
+Validator is the type for the validator-set.
+
+### Properties
+
+|Name|Type|Required|Restrictions|Description|
+|---|---|---|---|---|
+|address|string|false|none|none|
+|pub_key|object|false|none|`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Example 2: Pack and unpack a message in Java.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
JSON
The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }|
+|» type_url|string|false|none|A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.