# Protobuf Documentation

# Table of Contents

Top

# cosmos/auth/v1beta1/auth.proto

# BaseAccount

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).

Field Type Label Description
address string
pub_key google.protobuf.Any
account_number uint64
sequence uint64

# ModuleAccount

ModuleAccount defines an account for modules that holds coins on a pool.

Field Type Label Description
base_account BaseAccount
name string
permissions string repeated

# Params

Params defines the parameters for the auth module.

Field Type Label Description
max_memo_characters uint64
tx_sig_limit uint64
tx_size_cost_per_byte uint64
sig_verify_cost_ed25519 uint64
sig_verify_cost_secp256k1 uint64

Top

# cosmos/auth/v1beta1/genesis.proto

# GenesisState

GenesisState defines the auth module's genesis state.

Field Type Label Description
params Params params defines all the paramaters of the module.
accounts google.protobuf.Any repeated accounts are the accounts present at genesis.

Top

# cosmos/auth/v1beta1/query.proto

# QueryAccountRequest

QueryAccountRequest is the request type for the Query/Account RPC method.

Field Type Label Description
address string address defines the address to query for.

# QueryAccountResponse

QueryAccountResponse is the response type for the Query/Account RPC method.

Field Type Label Description
account google.protobuf.Any account defines the account of the corresponding address.

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
params Params params defines the parameters of the module.

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Account QueryAccountRequest QueryAccountResponse Account returns account details based on address. GET /cosmos/auth/v1beta1/accounts/
Params QueryParamsRequest QueryParamsResponse Params queries all parameters. GET /cosmos/auth/v1beta1/params

Top

# cosmos/base/v1beta1/coin.proto

# Coin

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.

Field Type Label Description
denom string
amount string

# DecCoin

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.

Field Type Label Description
denom string
amount string

# DecProto

DecProto defines a Protobuf wrapper around a Dec object.

Field Type Label Description
dec string

# IntProto

IntProto defines a Protobuf wrapper around an Int object.

Field Type Label Description
int string

Top

# cosmos/bank/v1beta1/bank.proto

# DenomUnit

DenomUnit represents a struct that describes a given denomination unit of the basic token.

Field Type Label Description
denom string denom represents the string name of the given denom unit (e.g uatom).
exponent uint32 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 = 1^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 repeated aliases is a list of string aliases for the given denom

# Input

Input models transaction input.

Field Type Label Description
address string
coins cosmos.base.v1beta1.Coin repeated

# Metadata

Metadata represents a struct that describes a basic token.

Field Type Label Description
description string
denom_units DenomUnit repeated denom_units represents the list of DenomUnit's for a given coin
base string base represents the base denom (should be the DenomUnit with exponent = 0).
display string display indicates the suggested denom that should be displayed in clients.

# Output

Output models transaction outputs.

Field Type Label Description
address string
coins cosmos.base.v1beta1.Coin repeated

# Params

Params defines the parameters for the bank module.

Field Type Label Description
send_enabled SendEnabled repeated
default_send_enabled bool

# SendEnabled

SendEnabled maps coin denom to a send_enabled status (whether a denom is sendable).

Field Type Label Description
denom string
enabled bool

# Supply

Supply represents a struct that passively keeps track of the total supply amounts in the network.

Field Type Label Description
total cosmos.base.v1beta1.Coin repeated

Top

# cosmos/bank/v1beta1/genesis.proto

# Balance

Balance defines an account address and balance pair used in the bank module's genesis state.

Field Type Label Description
address string address is the address of the balance holder.
coins cosmos.base.v1beta1.Coin repeated coins defines the different coins this balance holds.

# GenesisState

GenesisState defines the bank module's genesis state.

Field Type Label Description
params Params params defines all the paramaters of the module.
balances Balance repeated balances is an array containing the balances of all the accounts.
supply cosmos.base.v1beta1.Coin repeated supply represents the total supply.
denom_metadata Metadata repeated denom_metadata defines the metadata of the differents coins.

Top

# cosmos/base/query/v1beta1/pagination.proto

# PageRequest

PageRequest is to be embedded in gRPC request messages for efficient pagination. Ex:

message SomeRequest { Foo some_parameter = 1; PageRequest pagination = 2; }

Field Type Label Description
key bytes 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 uint64 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 uint64 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 bool 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.

# PageResponse

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; }

Field Type Label Description
next_key bytes next_key is the key to be passed to PageRequest.key to query the next page most efficiently
total uint64 total is total number of results available if PageRequest.count_total was set, its value is undefined otherwise

Top

# cosmos/bank/v1beta1/query.proto

# QueryAllBalancesRequest

QueryBalanceRequest is the request type for the Query/AllBalances RPC method.

Field Type Label Description
address string address is the address to query balances for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryAllBalancesResponse

QueryAllBalancesResponse is the response type for the Query/AllBalances RPC method.

Field Type Label Description
balances cosmos.base.v1beta1.Coin repeated balances is the balances of all the coins.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryBalanceRequest

QueryBalanceRequest is the request type for the Query/Balance RPC method.

Field Type Label Description
address string address is the address to query balances for.
denom string denom is the coin denom to query balances for.

# QueryBalanceResponse

QueryBalanceResponse is the response type for the Query/Balance RPC method.

Field Type Label Description
balance cosmos.base.v1beta1.Coin balance is the balance of the coin.

# QueryDenomMetadataRequest

QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method.

Field Type Label Description
denom string denom is the coin denom to query the metadata for.

# QueryDenomMetadataResponse

QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC method.

Field Type Label Description
metadata Metadata metadata describes and provides all the client information for the requested token.

# QueryDenomsMetadataRequest

QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method.

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDenomsMetadataResponse

QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC method.

Field Type Label Description
metadatas Metadata repeated metadata provides the client information for all the registered tokens.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryParamsRequest

QueryParamsRequest defines the request type for querying x/bank parameters.

# QueryParamsResponse

QueryParamsResponse defines the response type for querying x/bank parameters.

Field Type Label Description
params Params

# QuerySupplyOfRequest

QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method.

Field Type Label Description
denom string denom is the coin denom to query balances for.

# QuerySupplyOfResponse

QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.

Field Type Label Description
amount cosmos.base.v1beta1.Coin amount is the supply of the coin.

# QueryTotalSupplyRequest

QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC method.

# QueryTotalSupplyResponse

QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC method

Field Type Label Description
supply cosmos.base.v1beta1.Coin repeated supply is the supply of the coins

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Balance QueryBalanceRequest QueryBalanceResponse Balance queries the balance of a single coin for a single account. GET /cosmos/bank/v1beta1/balances/{address}/
AllBalances QueryAllBalancesRequest QueryAllBalancesResponse AllBalances queries the balance of all coins for a single account. GET /cosmos/bank/v1beta1/balances/
TotalSupply QueryTotalSupplyRequest QueryTotalSupplyResponse TotalSupply queries the total supply of all coins. GET /cosmos/bank/v1beta1/supply
SupplyOf QuerySupplyOfRequest QuerySupplyOfResponse SupplyOf queries the supply of a single coin. GET /cosmos/bank/v1beta1/supply/
Params QueryParamsRequest QueryParamsResponse Params queries the parameters of x/bank module. GET /cosmos/bank/v1beta1/params
DenomMetadata QueryDenomMetadataRequest QueryDenomMetadataResponse DenomsMetadata queries the client metadata of a given coin denomination. GET /cosmos/bank/v1beta1/denoms_metadata/
DenomsMetadata QueryDenomsMetadataRequest QueryDenomsMetadataResponse DenomsMetadata queries the client metadata for all registered coin denominations. GET /cosmos/bank/v1beta1/denoms_metadata

Top

# cosmos/bank/v1beta1/tx.proto

# MsgMultiSend

MsgMultiSend represents an arbitrary multi-in, multi-out send message.

Field Type Label Description
inputs Input repeated
outputs Output repeated

# MsgMultiSendResponse

MsgMultiSendResponse defines the Msg/MultiSend response type.

# MsgSend

MsgSend represents a message to send coins from one account to another.

Field Type Label Description
from_address string
to_address string
amount cosmos.base.v1beta1.Coin repeated

# MsgSendResponse

MsgSendResponse defines the Msg/Send response type.

# Msg

Msg defines the bank Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Send MsgSend MsgSendResponse Send defines a method for sending coins from one account to another account.
MultiSend MsgMultiSend MsgMultiSendResponse MultiSend defines a method for sending coins from some accounts to other accounts.

Top

# cosmos/base/abci/v1beta1/abci.proto

# ABCIMessageLog

ABCIMessageLog defines a structure containing an indexed tx ABCI message log.

Field Type Label Description
msg_index uint32
log string
events StringEvent repeated Events contains a slice of Event objects that were emitted during some execution.

# Attribute

Attribute defines an attribute wrapper where the key and value are strings instead of raw bytes.

Field Type Label Description
key string
value string

# GasInfo

GasInfo defines tx execution gas context.

Field Type Label Description
gas_wanted uint64 GasWanted is the maximum units of work we allow this tx to perform.
gas_used uint64 GasUsed is the amount of gas actually consumed.

# MsgData

MsgData defines the data returned in a Result object during message execution.

Field Type Label Description
msg_type string
data bytes

# Result

Result is the union of ResponseFormat and ResponseCheckTx.

Field Type Label Description
data bytes Data is any data returned from message or handler execution. It MUST be length prefixed in order to separate data from multiple message executions.
log string Log contains the log information from message or handler execution.
events tendermint.abci.Event repeated Events contains a slice of Event objects that were emitted during message or handler execution.

# SearchTxsResult

SearchTxsResult defines a structure for querying txs pageable

Field Type Label Description
total_count uint64 Count of all txs
count uint64 Count of txs in current page
page_number uint64 Index of current page, start from 1
page_total uint64 Count of total pages
limit uint64 Max count txs per page
txs TxResponse repeated List of txs in current page

# SimulationResponse

SimulationResponse defines the response generated when a transaction is successfully simulated.

Field Type Label Description
gas_info GasInfo
result Result

# StringEvent

StringEvent defines en Event object wrapper where all the attributes contain key/value pairs that are strings instead of raw bytes.

Field Type Label Description
type string
attributes Attribute repeated

# TxMsgData

TxMsgData defines a list of MsgData. A transaction will have a MsgData object for each message.

Field Type Label Description
data MsgData repeated

# TxResponse

TxResponse defines a structure containing relevant tx data and metadata. The tags are stringified and the log is JSON decoded.

Field Type Label Description
height int64 The block height
txhash string The transaction hash.
codespace string Namespace for the Code
code uint32 Response code.
data string Result bytes, if any.
raw_log string The output of the application's logger (raw string). May be non-deterministic.
logs ABCIMessageLog repeated The output of the application's logger (typed). May be non-deterministic.
info string Additional information. May be non-deterministic.
gas_wanted int64 Amount of gas requested for transaction.
gas_used int64 Amount of gas consumed by transaction.
tx google.protobuf.Any The request transaction bytes.
timestamp string 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.

Top

# cosmos/base/kv/v1beta1/kv.proto

# Pair

Pair defines a key/value bytes tuple.

Field Type Label Description
key bytes
value bytes

# Pairs

Pairs defines a repeated slice of Pair objects.

Field Type Label Description
pairs Pair repeated

Top

# cosmos/base/reflection/v1beta1/reflection.proto

# ListAllInterfacesRequest

ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC.

# ListAllInterfacesResponse

ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.

Field Type Label Description
interface_names string repeated interface_names is an array of all the registered interfaces.

# ListImplementationsRequest

ListImplementationsRequest is the request type of the ListImplementations RPC.

Field Type Label Description
interface_name string interface_name defines the interface to query the implementations for.

# ListImplementationsResponse

ListImplementationsResponse is the response type of the ListImplementations RPC.

Field Type Label Description
implementation_message_names string repeated

# ReflectionService

ReflectionService defines a service for interface reflection.

Method Name Request Type Response Type Description HTTP Verb Endpoint
ListAllInterfaces ListAllInterfacesRequest ListAllInterfacesResponse ListAllInterfaces lists all the interfaces registered in the interface registry. GET /cosmos/base/reflection/v1beta1/interfaces
ListImplementations ListImplementationsRequest ListImplementationsResponse ListImplementations list all the concrete types that implement a given interface. GET /cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations

Top

# cosmos/base/snapshots/v1beta1/snapshot.proto

# Metadata

Metadata contains SDK-specific snapshot metadata.

Field Type Label Description
chunk_hashes bytes repeated SHA-256 chunk hashes

# Snapshot

Snapshot contains Tendermint state sync snapshot info.

Field Type Label Description
height uint64
format uint32
chunks uint32
hash bytes
metadata Metadata

Top

# cosmos/base/store/v1beta1/commit_info.proto

# CommitID

CommitID defines the committment information when a specific store is committed.

Field Type Label Description
version int64
hash bytes

# CommitInfo

CommitInfo defines commit information used by the multi-store when committing a version/height.

Field Type Label Description
version int64
store_infos StoreInfo repeated

# StoreInfo

StoreInfo defines store-specific commit information. It contains a reference between a store name and the commit ID.

Field Type Label Description
name string
commit_id CommitID

Top

# cosmos/base/store/v1beta1/snapshot.proto

# SnapshotIAVLItem

SnapshotIAVLItem is an exported IAVL node.

Field Type Label Description
key bytes
value bytes
version int64
height int32

# SnapshotItem

SnapshotItem is an item contained in a rootmulti.Store snapshot.

Field Type Label Description
store SnapshotStoreItem
iavl SnapshotIAVLItem

# SnapshotStoreItem

SnapshotStoreItem contains metadata about a snapshotted store.

Field Type Label Description
name string

Top

# cosmos/base/tendermint/v1beta1/query.proto

# GetBlockByHeightRequest

GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method.

Field Type Label Description
height int64

# GetBlockByHeightResponse

GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.

Field Type Label Description
block_id tendermint.types.BlockID
block tendermint.types.Block

# GetLatestBlockRequest

GetLatestBlockRequest is the request type for the Query/GetLatestBlock RPC method.

# GetLatestBlockResponse

GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.

Field Type Label Description
block_id tendermint.types.BlockID
block tendermint.types.Block

# GetLatestValidatorSetRequest

GetLatestValidatorSetRequest is the request type for the Query/GetValidatorSetByHeight RPC method.

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an pagination for the request.

# GetLatestValidatorSetResponse

GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.

Field Type Label Description
block_height int64
validators Validator repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines an pagination for the response.

# GetNodeInfoRequest

GetNodeInfoRequest is the request type for the Query/GetNodeInfo RPC method.

# GetNodeInfoResponse

GetNodeInfoResponse is the request type for the Query/GetNodeInfo RPC method.

Field Type Label Description
default_node_info tendermint.p2p.DefaultNodeInfo
application_version VersionInfo

# GetSyncingRequest

GetSyncingRequest is the request type for the Query/GetSyncing RPC method.

# GetSyncingResponse

GetSyncingResponse is the response type for the Query/GetSyncing RPC method.

Field Type Label Description
syncing bool

# GetValidatorSetByHeightRequest

GetValidatorSetByHeightRequest is the request type for the Query/GetValidatorSetByHeight RPC method.

Field Type Label Description
height int64
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an pagination for the request.

# GetValidatorSetByHeightResponse

GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.

Field Type Label Description
block_height int64
validators Validator repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines an pagination for the response.

# Module

Module is the type for VersionInfo

Field Type Label Description
path string module path
version string module version
sum string checksum

# Validator

Validator is the type for the validator-set.

Field Type Label Description
address string
pub_key google.protobuf.Any
voting_power int64
proposer_priority int64

# VersionInfo

VersionInfo is the type for the GetNodeInfoResponse message.

Field Type Label Description
name string
app_name string
version string
git_commit string
build_tags string
go_version string
build_deps Module repeated

# Service

Service defines the gRPC querier service for tendermint queries.

Method Name Request Type Response Type Description HTTP Verb Endpoint
GetNodeInfo GetNodeInfoRequest GetNodeInfoResponse GetNodeInfo queries the current node info. GET /cosmos/base/tendermint/v1beta1/node_info
GetSyncing GetSyncingRequest GetSyncingResponse GetSyncing queries node syncing. GET /cosmos/base/tendermint/v1beta1/syncing
GetLatestBlock GetLatestBlockRequest GetLatestBlockResponse GetLatestBlock returns the latest block. GET /cosmos/base/tendermint/v1beta1/blocks/latest
GetBlockByHeight GetBlockByHeightRequest GetBlockByHeightResponse GetBlockByHeight queries block for given height. GET /cosmos/base/tendermint/v1beta1/blocks/
GetLatestValidatorSet GetLatestValidatorSetRequest GetLatestValidatorSetResponse GetLatestValidatorSet queries latest validator-set. GET /cosmos/base/tendermint/v1beta1/validatorsets/latest
GetValidatorSetByHeight GetValidatorSetByHeightRequest GetValidatorSetByHeightResponse GetValidatorSetByHeight queries validator-set at a given height. GET /cosmos/base/tendermint/v1beta1/validatorsets/

Top

# cosmos/capability/v1beta1/capability.proto

# Capability

Capability defines an implementation of an object capability. The index provided to a Capability must be globally unique.

Field Type Label Description
index uint64

# CapabilityOwners

CapabilityOwners defines a set of owners of a single Capability. The set of owners must be unique.

Field Type Label Description
owners Owner repeated

# Owner

Owner defines a single capability owner. An owner is defined by the name of capability and the module name.

Field Type Label Description
module string
name string

Top

# cosmos/capability/v1beta1/genesis.proto

# GenesisOwners

GenesisOwners defines the capability owners with their corresponding index.

Field Type Label Description
index uint64 index is the index of the capability owner.
index_owners CapabilityOwners index_owners are the owners at the given index.

# GenesisState

GenesisState defines the capability module's genesis state.

Field Type Label Description
index uint64 index is the capability global index.
owners GenesisOwners repeated owners represents a map from index to owners of the capability index index key is string to allow amino marshalling.

Top

# cosmos/crisis/v1beta1/genesis.proto

# GenesisState

GenesisState defines the crisis module's genesis state.

Field Type Label Description
constant_fee cosmos.base.v1beta1.Coin constant_fee is the fee used to verify the invariant in the crisis module.

Top

# cosmos/crisis/v1beta1/tx.proto

# MsgVerifyInvariant

MsgVerifyInvariant represents a message to verify a particular invariance.

Field Type Label Description
sender string
invariant_module_name string
invariant_route string

# MsgVerifyInvariantResponse

MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.

# Msg

Msg defines the bank Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
VerifyInvariant MsgVerifyInvariant MsgVerifyInvariantResponse VerifyInvariant defines a method to verify a particular invariance.

Top

# cosmos/crypto/ed25519/keys.proto

# PrivKey

PrivKey defines a ed25519 private key.

Field Type Label Description
key bytes

# PubKey

PubKey defines a ed25519 public key Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte if the y-coordinate is the lexicographically largest of the two associated with the x-coordinate. Otherwise the first byte is a 0x03. This prefix is followed with the x-coordinate.

Field Type Label Description
key bytes

Top

# cosmos/crypto/multisig/keys.proto

# LegacyAminoPubKey

LegacyAminoPubKey specifies a public key type which nests multiple public keys and a threshold, it uses legacy amino address rules.

Field Type Label Description
threshold uint32
public_keys google.protobuf.Any repeated

Top

# cosmos/crypto/multisig/v1beta1/multisig.proto

# CompactBitArray

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.

Field Type Label Description
extra_bits_stored uint32
elems bytes

# MultiSignature

MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers signed and with which modes.

Field Type Label Description
signatures bytes repeated

Top

# cosmos/crypto/secp256k1/keys.proto

# PrivKey

PrivKey defines a secp256k1 private key.

Field Type Label Description
key bytes

# PubKey

PubKey defines a secp256k1 public key Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte if the y-coordinate is the lexicographically largest of the two associated with the x-coordinate. Otherwise the first byte is a 0x03. This prefix is followed with the x-coordinate.

Field Type Label Description
key bytes

Top

# cosmos/distribution/v1beta1/distribution.proto

# CommunityPoolSpendProposal

CommunityPoolSpendProposal details a proposal for use of community funds, together with how many coins are proposed to be spent, and to which recipient account.

Field Type Label Description
title string
description string
recipient string
amount cosmos.base.v1beta1.Coin repeated

# CommunityPoolSpendProposalWithDeposit

CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal with a deposit

Field Type Label Description
title string
description string
recipient string
amount string
deposit string

# DelegationDelegatorReward

DelegationDelegatorReward represents the properties of a delegator's delegation reward.

Field Type Label Description
validator_address string
reward cosmos.base.v1beta1.DecCoin repeated

# DelegatorStartingInfo

DelegatorStartingInfo represents the starting info for a delegator reward period. It tracks the previous validator period, the delegation's amount of staking token, and the creation height (to check later on if any slashes have occurred). NOTE: Even though validators are slashed to whole staking tokens, the delegators within the validator may be left with less than a full token, thus sdk.Dec is used.

Field Type Label Description
previous_period uint64
stake string
height uint64

# FeePool

FeePool is the global fee pool for distribution.

Field Type Label Description
community_pool cosmos.base.v1beta1.DecCoin repeated

# Params

Params defines the set of params for the distribution module.

Field Type Label Description
community_tax string
base_proposer_reward string
bonus_proposer_reward string
withdraw_addr_enabled bool

# ValidatorAccumulatedCommission

ValidatorAccumulatedCommission represents accumulated commission for a validator kept as a running counter, can be withdrawn at any time.

Field Type Label Description
commission cosmos.base.v1beta1.DecCoin repeated

# ValidatorCurrentRewards

ValidatorCurrentRewards represents current rewards and current period for a validator kept as a running counter and incremented each block as long as the validator's tokens remain constant.

Field Type Label Description
rewards cosmos.base.v1beta1.DecCoin repeated
period uint64

# ValidatorHistoricalRewards

ValidatorHistoricalRewards represents historical rewards for a validator. Height is implicit within the store key. Cumulative reward ratio is the sum from the zeroeth period until this period of rewards / tokens, per the spec. The reference count indicates the number of objects which might need to reference this historical entry at any point. ReferenceCount = number of outstanding delegations which ended the associated period (and might need to read that record)

  • number of slashes which ended the associated period (and might need to read that record)
  • one per validator for the zeroeth period, set on initialization
Field Type Label Description
cumulative_reward_ratio cosmos.base.v1beta1.DecCoin repeated
reference_count uint32

# ValidatorOutstandingRewards

ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards for a validator inexpensive to track, allows simple sanity checks.

Field Type Label Description
rewards cosmos.base.v1beta1.DecCoin repeated

# ValidatorSlashEvent

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.

Field Type Label Description
validator_period uint64
fraction string

# ValidatorSlashEvents

ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.

Field Type Label Description
validator_slash_events ValidatorSlashEvent repeated

Top

# cosmos/distribution/v1beta1/genesis.proto

# DelegatorStartingInfoRecord

DelegatorStartingInfoRecord used for import / export via genesis json.

Field Type Label Description
delegator_address string delegator_address is the address of the delegator.
validator_address string validator_address is the address of the validator.
starting_info DelegatorStartingInfo starting_info defines the starting info of a delegator.

# DelegatorWithdrawInfo

DelegatorWithdrawInfo is the address for where distributions rewards are withdrawn to by default this struct is only used at genesis to feed in default withdraw addresses.

Field Type Label Description
delegator_address string delegator_address is the address of the delegator.
withdraw_address string withdraw_address is the address to withdraw the delegation rewards to.

# GenesisState

GenesisState defines the distribution module's genesis state.

Field Type Label Description
params Params params defines all the paramaters of the module.
fee_pool FeePool fee_pool defines the fee pool at genesis.
delegator_withdraw_infos DelegatorWithdrawInfo repeated fee_pool defines the delegator withdraw infos at genesis.
previous_proposer string fee_pool defines the previous proposer at genesis.
outstanding_rewards ValidatorOutstandingRewardsRecord repeated fee_pool defines the outstanding rewards of all validators at genesis.
validator_accumulated_commissions ValidatorAccumulatedCommissionRecord repeated fee_pool defines the accumulated commisions of all validators at genesis.
validator_historical_rewards ValidatorHistoricalRewardsRecord repeated fee_pool defines the historical rewards of all validators at genesis.
validator_current_rewards ValidatorCurrentRewardsRecord repeated fee_pool defines the current rewards of all validators at genesis.
delegator_starting_infos DelegatorStartingInfoRecord repeated fee_pool defines the delegator starting infos at genesis.
validator_slash_events ValidatorSlashEventRecord repeated fee_pool defines the validator slash events at genesis.

# ValidatorAccumulatedCommissionRecord

ValidatorAccumulatedCommissionRecord is used for import / export via genesis json.

Field Type Label Description
validator_address string validator_address is the address of the validator.
accumulated ValidatorAccumulatedCommission accumulated is the accumulated commission of a validator.

# ValidatorCurrentRewardsRecord

ValidatorCurrentRewardsRecord is used for import / export via genesis json.

Field Type Label Description
validator_address string validator_address is the address of the validator.
rewards ValidatorCurrentRewards rewards defines the current rewards of a validator.

# ValidatorHistoricalRewardsRecord

ValidatorHistoricalRewardsRecord is used for import / export via genesis json.

Field Type Label Description
validator_address string validator_address is the address of the validator.
period uint64 period defines the period the historical rewards apply to.
rewards ValidatorHistoricalRewards rewards defines the historical rewards of a validator.

# ValidatorOutstandingRewardsRecord

ValidatorOutstandingRewardsRecord is used for import/export via genesis json.

Field Type Label Description
validator_address string validator_address is the address of the validator.
outstanding_rewards cosmos.base.v1beta1.DecCoin repeated outstanding_rewards represents the oustanding rewards of a validator.

# ValidatorSlashEventRecord

ValidatorSlashEventRecord is used for import / export via genesis json.

Field Type Label Description
validator_address string validator_address is the address of the validator.
height uint64 height defines the block height at which the slash event occured.
period uint64 period is the period of the slash event.
validator_slash_event ValidatorSlashEvent validator_slash_event describes the slash event.

Top

# cosmos/distribution/v1beta1/query.proto

# QueryCommunityPoolRequest

QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC method.

# QueryCommunityPoolResponse

QueryCommunityPoolResponse is the response type for the Query/CommunityPool RPC method.

Field Type Label Description
pool cosmos.base.v1beta1.DecCoin repeated pool defines community pool's coins.

# QueryDelegationRewardsRequest

QueryDelegationRewardsRequest is the request type for the Query/DelegationRewards RPC method.

Field Type Label Description
delegator_address string delegator_address defines the delegator address to query for.
validator_address string validator_address defines the validator address to query for.

# QueryDelegationRewardsResponse

QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method.

Field Type Label Description
rewards cosmos.base.v1beta1.DecCoin repeated rewards defines the rewards accrued by a delegation.

# QueryDelegationTotalRewardsRequest

QueryDelegationTotalRewardsRequest is the request type for the Query/DelegationTotalRewards RPC method.

Field Type Label Description
delegator_address string delegator_address defines the delegator address to query for.

# QueryDelegationTotalRewardsResponse

QueryDelegationTotalRewardsResponse is the response type for the Query/DelegationTotalRewards RPC method.

Field Type Label Description
rewards DelegationDelegatorReward repeated rewards defines all the rewards accrued by a delegator.
total cosmos.base.v1beta1.DecCoin repeated total defines the sum of all the rewards.

# QueryDelegatorValidatorsRequest

QueryDelegatorValidatorsRequest is the request type for the Query/DelegatorValidators RPC method.

Field Type Label Description
delegator_address string delegator_address defines the delegator address to query for.

# QueryDelegatorValidatorsResponse

QueryDelegatorValidatorsResponse is the response type for the Query/DelegatorValidators RPC method.

Field Type Label Description
validators string repeated validators defines the validators a delegator is delegating for.

# QueryDelegatorWithdrawAddressRequest

QueryDelegatorWithdrawAddressRequest is the request type for the Query/DelegatorWithdrawAddress RPC method.

Field Type Label Description
delegator_address string delegator_address defines the delegator address to query for.

# QueryDelegatorWithdrawAddressResponse

QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method.

Field Type Label Description
withdraw_address string withdraw_address defines the delegator address to query for.

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
params Params params defines the parameters of the module.

# QueryValidatorCommissionRequest

QueryValidatorCommissionRequest is the request type for the Query/ValidatorCommission RPC method

Field Type Label Description
validator_address string validator_address defines the validator address to query for.

# QueryValidatorCommissionResponse

QueryValidatorCommissionResponse is the response type for the Query/ValidatorCommission RPC method

Field Type Label Description
commission ValidatorAccumulatedCommission commission defines the commision the validator received.

# QueryValidatorOutstandingRewardsRequest

QueryValidatorOutstandingRewardsRequest is the request type for the Query/ValidatorOutstandingRewards RPC method.

Field Type Label Description
validator_address string validator_address defines the validator address to query for.

# QueryValidatorOutstandingRewardsResponse

QueryValidatorOutstandingRewardsResponse is the response type for the Query/ValidatorOutstandingRewards RPC method.

Field Type Label Description
rewards ValidatorOutstandingRewards

# QueryValidatorSlashesRequest

QueryValidatorSlashesRequest is the request type for the Query/ValidatorSlashes RPC method

Field Type Label Description
validator_address string validator_address defines the validator address to query for.
starting_height uint64 starting_height defines the optional starting height to query the slashes.
ending_height uint64 starting_height defines the optional ending height to query the slashes.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryValidatorSlashesResponse

QueryValidatorSlashesResponse is the response type for the Query/ValidatorSlashes RPC method.

Field Type Label Description
slashes ValidatorSlashEvent repeated slashes defines the slashes the validator received.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# Query

Query defines the gRPC querier service for distribution module.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Params QueryParamsRequest QueryParamsResponse Params queries params of the distribution module. GET /cosmos/distribution/v1beta1/params
ValidatorOutstandingRewards QueryValidatorOutstandingRewardsRequest QueryValidatorOutstandingRewardsResponse ValidatorOutstandingRewards queries rewards of a validator address. GET /cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards
ValidatorCommission QueryValidatorCommissionRequest QueryValidatorCommissionResponse ValidatorCommission queries accumulated commission for a validator. GET /cosmos/distribution/v1beta1/validators/{validator_address}/commission
ValidatorSlashes QueryValidatorSlashesRequest QueryValidatorSlashesResponse ValidatorSlashes queries slash events of a validator. GET /cosmos/distribution/v1beta1/validators/{validator_address}/slashes
DelegationRewards QueryDelegationRewardsRequest QueryDelegationRewardsResponse DelegationRewards queries the total rewards accrued by a delegation. GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/
DelegationTotalRewards QueryDelegationTotalRewardsRequest QueryDelegationTotalRewardsResponse DelegationTotalRewards queries the total rewards accrued by a each validator. GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards
DelegatorValidators QueryDelegatorValidatorsRequest QueryDelegatorValidatorsResponse DelegatorValidators queries the validators of a delegator. GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/validators
DelegatorWithdrawAddress QueryDelegatorWithdrawAddressRequest QueryDelegatorWithdrawAddressResponse DelegatorWithdrawAddress queries withdraw address of a delegator. GET /cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address
CommunityPool QueryCommunityPoolRequest QueryCommunityPoolResponse CommunityPool queries the community pool coins. GET /cosmos/distribution/v1beta1/community_pool

Top

# cosmos/distribution/v1beta1/tx.proto

# MsgFundCommunityPool

MsgFundCommunityPool allows an account to directly fund the community pool.

Field Type Label Description
amount cosmos.base.v1beta1.Coin repeated
depositor string

# MsgFundCommunityPoolResponse

MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.

# MsgSetWithdrawAddress

MsgSetWithdrawAddress sets the withdraw address for a delegator (or validator self-delegation).

Field Type Label Description
delegator_address string
withdraw_address string

# MsgSetWithdrawAddressResponse

MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type.

# MsgWithdrawDelegatorReward

MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator from a single validator.

Field Type Label Description
delegator_address string
validator_address string

# MsgWithdrawDelegatorRewardResponse

MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type.

# MsgWithdrawValidatorCommission

MsgWithdrawValidatorCommission withdraws the full commission to the validator address.

Field Type Label Description
validator_address string

# MsgWithdrawValidatorCommissionResponse

MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type.

# Msg

Msg defines the distribution Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
SetWithdrawAddress MsgSetWithdrawAddress MsgSetWithdrawAddressResponse SetWithdrawAddress defines a method to change the withdraw address for a delegator (or validator self-delegation).
WithdrawDelegatorReward MsgWithdrawDelegatorReward MsgWithdrawDelegatorRewardResponse WithdrawDelegatorReward defines a method to withdraw rewards of delegator from a single validator.
WithdrawValidatorCommission MsgWithdrawValidatorCommission MsgWithdrawValidatorCommissionResponse WithdrawValidatorCommission defines a method to withdraw the full commission to the validator address.
FundCommunityPool MsgFundCommunityPool MsgFundCommunityPoolResponse FundCommunityPool defines a method to allow an account to directly fund the community pool.

Top

# cosmos/evidence/v1beta1/evidence.proto

# Equivocation

Equivocation implements the Evidence interface and defines evidence of double signing misbehavior.

Field Type Label Description
height int64
time google.protobuf.Timestamp
power int64
consensus_address string

Top

# cosmos/evidence/v1beta1/genesis.proto

# GenesisState

GenesisState defines the evidence module's genesis state.

Field Type Label Description
evidence google.protobuf.Any repeated evidence defines all the evidence at genesis.

Top

# cosmos/evidence/v1beta1/query.proto

# QueryAllEvidenceRequest

QueryEvidenceRequest is the request type for the Query/AllEvidence RPC method.

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryAllEvidenceResponse

QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC method.

Field Type Label Description
evidence google.protobuf.Any repeated evidence returns all evidences.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryEvidenceRequest

QueryEvidenceRequest is the request type for the Query/Evidence RPC method.

Field Type Label Description
evidence_hash bytes evidence_hash defines the hash of the requested evidence.

# QueryEvidenceResponse

QueryEvidenceResponse is the response type for the Query/Evidence RPC method.

Field Type Label Description
evidence google.protobuf.Any evidence returns the requested evidence.

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Evidence QueryEvidenceRequest QueryEvidenceResponse Evidence queries evidence based on evidence hash. GET /cosmos/evidence/v1beta1/evidence/
AllEvidence QueryAllEvidenceRequest QueryAllEvidenceResponse AllEvidence queries all evidence. GET /cosmos/evidence/v1beta1/evidence

Top

# cosmos/evidence/v1beta1/tx.proto

# MsgSubmitEvidence

MsgSubmitEvidence represents a message that supports submitting arbitrary Evidence of misbehavior such as equivocation or counterfactual signing.

Field Type Label Description
submitter string
evidence google.protobuf.Any

# MsgSubmitEvidenceResponse

MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.

Field Type Label Description
hash bytes hash defines the hash of the evidence.

# Msg

Msg defines the evidence Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
SubmitEvidence MsgSubmitEvidence MsgSubmitEvidenceResponse SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or counterfactual signing.

Top

# cosmos/genutil/v1beta1/genesis.proto

# GenesisState

GenesisState defines the raw genesis transaction in JSON.

Field Type Label Description
gen_txs bytes repeated gen_txs defines the genesis transactions.

Top

# cosmos/gov/v1beta1/gov.proto

# Deposit

Deposit defines an amount deposited by an account address to an active proposal.

Field Type Label Description
proposal_id uint64
depositor string
amount cosmos.base.v1beta1.Coin repeated

# DepositParams

DepositParams defines the params for deposits on governance proposals.

Field Type Label Description
min_deposit cosmos.base.v1beta1.Coin repeated Minimum deposit for a proposal to enter voting period.
max_deposit_period google.protobuf.Duration Maximum period for Atom holders to deposit on a proposal. Initial value: 2 months.

# Proposal

Proposal defines the core field members of a governance proposal.

Field Type Label Description
proposal_id uint64
content google.protobuf.Any
status ProposalStatus
final_tally_result TallyResult
submit_time google.protobuf.Timestamp
deposit_end_time google.protobuf.Timestamp
total_deposit cosmos.base.v1beta1.Coin repeated
voting_start_time google.protobuf.Timestamp
voting_end_time google.protobuf.Timestamp

# TallyParams

TallyParams defines the params for tallying votes on governance proposals.

Field Type Label Description
quorum bytes Minimum percentage of total stake needed to vote for a result to be considered valid.
threshold bytes Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
veto_threshold bytes Minimum value of Veto votes to Total votes ratio for proposal to be vetoed. Default value: 1/3.

# TallyResult

TallyResult defines a standard tally for a governance proposal.

Field Type Label Description
yes string
abstain string
no string
no_with_veto string

# TextProposal

TextProposal defines a standard text proposal whose changes need to be manually updated in case of approval.

Field Type Label Description
title string
description string

# Vote

Vote defines a vote on a governance proposal. A Vote consists of a proposal ID, the voter, and the vote option.

Field Type Label Description
proposal_id uint64
voter string
option VoteOption

# VotingParams

VotingParams defines the params for voting on governance proposals.

Field Type Label Description
voting_period google.protobuf.Duration Length of the voting period.

# ProposalStatus

ProposalStatus enumerates the valid statuses of a proposal.

Name Number Description
PROPOSAL_STATUS_UNSPECIFIED 0 PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
PROPOSAL_STATUS_DEPOSIT_PERIOD 1 PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit period.
PROPOSAL_STATUS_VOTING_PERIOD 2 PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting period.
PROPOSAL_STATUS_PASSED 3 PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has passed.
PROPOSAL_STATUS_REJECTED 4 PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has been rejected.
PROPOSAL_STATUS_FAILED 5 PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has failed.

# VoteOption

VoteOption enumerates the valid vote options for a given governance proposal.

Name Number Description
VOTE_OPTION_UNSPECIFIED 0 VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
VOTE_OPTION_YES 1 VOTE_OPTION_YES defines a yes vote option.
VOTE_OPTION_ABSTAIN 2 VOTE_OPTION_ABSTAIN defines an abstain vote option.
VOTE_OPTION_NO 3 VOTE_OPTION_NO defines a no vote option.
VOTE_OPTION_NO_WITH_VETO 4 VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.

Top

# cosmos/gov/v1beta1/genesis.proto

# GenesisState

GenesisState defines the gov module's genesis state.

Field Type Label Description
starting_proposal_id uint64 starting_proposal_id is the ID of the starting proposal.
deposits Deposit repeated deposits defines all the deposits present at genesis.
votes Vote repeated votes defines all the votes present at genesis.
proposals Proposal repeated proposals defines all the proposals present at genesis.
deposit_params DepositParams params defines all the paramaters of related to deposit.
voting_params VotingParams params defines all the paramaters of related to voting.
tally_params TallyParams params defines all the paramaters of related to tally.

Top

# cosmos/gov/v1beta1/query.proto

# QueryDepositRequest

QueryDepositRequest is the request type for the Query/Deposit RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.
depositor string depositor defines the deposit addresses from the proposals.

# QueryDepositResponse

QueryDepositResponse is the response type for the Query/Deposit RPC method.

Field Type Label Description
deposit Deposit deposit defines the requested deposit.

# QueryDepositsRequest

QueryDepositsRequest is the request type for the Query/Deposits RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDepositsResponse

QueryDepositsResponse is the response type for the Query/Deposits RPC method.

Field Type Label Description
deposits Deposit repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

Field Type Label Description
params_type string params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit".

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
voting_params VotingParams voting_params defines the parameters related to voting.
deposit_params DepositParams deposit_params defines the parameters related to deposit.
tally_params TallyParams tally_params defines the parameters related to tally.

# QueryProposalRequest

QueryProposalRequest is the request type for the Query/Proposal RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.

# QueryProposalResponse

QueryProposalResponse is the response type for the Query/Proposal RPC method.

Field Type Label Description
proposal Proposal

# QueryProposalsRequest

QueryProposalsRequest is the request type for the Query/Proposals RPC method.

Field Type Label Description
proposal_status ProposalStatus proposal_status defines the status of the proposals.
voter string voter defines the voter address for the proposals.
depositor string depositor defines the deposit addresses from the proposals.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryProposalsResponse

QueryProposalsResponse is the response type for the Query/Proposals RPC method.

Field Type Label Description
proposals Proposal repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryTallyResultRequest

QueryTallyResultRequest is the request type for the Query/Tally RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.

# QueryTallyResultResponse

QueryTallyResultResponse is the response type for the Query/Tally RPC method.

Field Type Label Description
tally TallyResult tally defines the requested tally.

# QueryVoteRequest

QueryVoteRequest is the request type for the Query/Vote RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.
voter string voter defines the oter address for the proposals.

# QueryVoteResponse

QueryVoteResponse is the response type for the Query/Vote RPC method.

Field Type Label Description
vote Vote vote defined the queried vote.

# QueryVotesRequest

QueryVotesRequest is the request type for the Query/Votes RPC method.

Field Type Label Description
proposal_id uint64 proposal_id defines the unique id of the proposal.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryVotesResponse

QueryVotesResponse is the response type for the Query/Votes RPC method.

Field Type Label Description
votes Vote repeated votes defined the queried votes.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# Query

Query defines the gRPC querier service for gov module

Method Name Request Type Response Type Description HTTP Verb Endpoint
Proposal QueryProposalRequest QueryProposalResponse Proposal queries proposal details based on ProposalID. GET /cosmos/gov/v1beta1/proposals/
Proposals QueryProposalsRequest QueryProposalsResponse Proposals queries all proposals based on given status. GET /cosmos/gov/v1beta1/proposals
Vote QueryVoteRequest QueryVoteResponse Vote queries voted information based on proposalID, voterAddr. GET /cosmos/gov/v1beta1/proposals/{proposal_id}/votes/
Votes QueryVotesRequest QueryVotesResponse Votes queries votes of a given proposal. GET /cosmos/gov/v1beta1/proposals/{proposal_id}/votes
Params QueryParamsRequest QueryParamsResponse Params queries all parameters of the gov module. GET /cosmos/gov/v1beta1/params/
Deposit QueryDepositRequest QueryDepositResponse Deposit queries single deposit information based proposalID, depositAddr. GET /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/
Deposits QueryDepositsRequest QueryDepositsResponse Deposits queries all deposits of a single proposal. GET /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits
TallyResult QueryTallyResultRequest QueryTallyResultResponse TallyResult queries the tally of a proposal vote. GET /cosmos/gov/v1beta1/proposals/{proposal_id}/tally

Top

# cosmos/gov/v1beta1/tx.proto

# MsgDeposit

MsgDeposit defines a message to submit a deposit to an existing proposal.

Field Type Label Description
proposal_id uint64
depositor string
amount cosmos.base.v1beta1.Coin repeated

# MsgDepositResponse

MsgDepositResponse defines the Msg/Deposit response type.

# MsgSubmitProposal

MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary proposal Content.

Field Type Label Description
content google.protobuf.Any
initial_deposit cosmos.base.v1beta1.Coin repeated
proposer string

# MsgSubmitProposalResponse

MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.

Field Type Label Description
proposal_id uint64

# MsgVote

MsgVote defines a message to cast a vote.

Field Type Label Description
proposal_id uint64
voter string
option VoteOption

# MsgVoteResponse

MsgVoteResponse defines the Msg/Vote response type.

# Msg

Msg defines the bank Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
SubmitProposal MsgSubmitProposal MsgSubmitProposalResponse SubmitProposal defines a method to create new proposal given a content.
Vote MsgVote MsgVoteResponse Vote defines a method to add a vote on a specific proposal.
Deposit MsgDeposit MsgDepositResponse Deposit defines a method to add deposit on a specific proposal.

Top

# cosmos/mint/v1beta1/mint.proto

# Minter

Minter represents the minting state.

Field Type Label Description
inflation string current annual inflation rate
annual_provisions string current annual expected provisions

# Params

Params holds parameters for the mint module.

Field Type Label Description
mint_denom string type of coin to mint
inflation_rate_change string maximum annual change in inflation rate
inflation_max string maximum inflation rate
inflation_min string minimum inflation rate
goal_bonded string goal of percent bonded atoms
blocks_per_year uint64 expected blocks per year

Top

# cosmos/mint/v1beta1/genesis.proto

# GenesisState

GenesisState defines the mint module's genesis state.

Field Type Label Description
minter Minter minter is a space for holding current inflation information.
params Params params defines all the paramaters of the module.

Top

# cosmos/mint/v1beta1/query.proto

# QueryAnnualProvisionsRequest

QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method.

# QueryAnnualProvisionsResponse

QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method.

Field Type Label Description
annual_provisions bytes annual_provisions is the current minting annual provisions value.

# QueryInflationRequest

QueryInflationRequest is the request type for the Query/Inflation RPC method.

# QueryInflationResponse

QueryInflationResponse is the response type for the Query/Inflation RPC method.

Field Type Label Description
inflation bytes inflation is the current minting inflation value.

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
params Params params defines the parameters of the module.

# Query

Query provides defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Params QueryParamsRequest QueryParamsResponse Params returns the total set of minting parameters. GET /cosmos/mint/v1beta1/params
Inflation QueryInflationRequest QueryInflationResponse Inflation returns the current minting inflation value. GET /cosmos/mint/v1beta1/inflation
AnnualProvisions QueryAnnualProvisionsRequest QueryAnnualProvisionsResponse AnnualProvisions current minting annual provisions value. GET /cosmos/mint/v1beta1/annual_provisions

Top

# cosmos/params/v1beta1/params.proto

# ParamChange

ParamChange defines an individual parameter change, for use in ParameterChangeProposal.

Field Type Label Description
subspace string
key string
value string

# ParameterChangeProposal

ParameterChangeProposal defines a proposal to change one or more parameters.

Field Type Label Description
title string
description string
changes ParamChange repeated

Top

# cosmos/params/v1beta1/query.proto

# QueryParamsRequest

QueryParamsRequest is request type for the Query/Params RPC method.

Field Type Label Description
subspace string subspace defines the module to query the parameter for.
key string key defines the key of the parameter in the subspace.

# QueryParamsResponse

QueryParamsResponse is response type for the Query/Params RPC method.

Field Type Label Description
param ParamChange param defines the queried parameter.

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Params QueryParamsRequest QueryParamsResponse Params queries a specific parameter of a module, given its subspace and key. GET /cosmos/params/v1beta1/params

Top

# cosmos/slashing/v1beta1/slashing.proto

# Params

Params represents the parameters used for by the slashing module.

Field Type Label Description
signed_blocks_window int64
min_signed_per_window bytes
downtime_jail_duration google.protobuf.Duration
slash_fraction_double_sign bytes
slash_fraction_downtime bytes

# ValidatorSigningInfo

ValidatorSigningInfo defines a validator's signing info for monitoring their liveness activity.

Field Type Label Description
address string
start_height int64 height at which validator was first a candidate OR was unjailed
index_offset int64 index offset into signed block bit array
jailed_until google.protobuf.Timestamp timestamp validator cannot be unjailed until
tombstoned bool whether or not a validator has been tombstoned (killed out of validator set)
missed_blocks_counter int64 missed blocks counter (to avoid scanning the array every time)

Top

# cosmos/slashing/v1beta1/genesis.proto

# GenesisState

GenesisState defines the slashing module's genesis state.

Field Type Label Description
params Params params defines all the paramaters of related to deposit.
signing_infos SigningInfo repeated signing_infos represents a map between validator addresses and their signing infos.
missed_blocks ValidatorMissedBlocks repeated signing_infos represents a map between validator addresses and their missed blocks.

# MissedBlock

MissedBlock contains height and missed status as boolean.

Field Type Label Description
index int64 index is the height at which the block was missed.
missed bool missed is the missed status.

# SigningInfo

SigningInfo stores validator signing info of corresponding address.

Field Type Label Description
address string address is the validator address.
validator_signing_info ValidatorSigningInfo validator_signing_info represents the signing info of this validator.

# ValidatorMissedBlocks

ValidatorMissedBlocks contains array of missed blocks of corresponding address.

Field Type Label Description
address string address is the validator address.
missed_blocks MissedBlock repeated missed_blocks is an array of missed blocks by the validator.

Top

# cosmos/slashing/v1beta1/query.proto

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method

Field Type Label Description
params Params

# QuerySigningInfoRequest

QuerySigningInfoRequest is the request type for the Query/SigningInfo RPC method

Field Type Label Description
cons_address string cons_address is the address to query signing info of

# QuerySigningInfoResponse

QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC method

Field Type Label Description
val_signing_info ValidatorSigningInfo val_signing_info is the signing info of requested val cons address

# QuerySigningInfosRequest

QuerySigningInfosRequest is the request type for the Query/SigningInfos RPC method

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest

# QuerySigningInfosResponse

QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC method

Field Type Label Description
info ValidatorSigningInfo repeated info is the signing info of all validators
pagination cosmos.base.query.v1beta1.PageResponse

# Query

Query provides defines the gRPC querier service

Method Name Request Type Response Type Description HTTP Verb Endpoint
Params QueryParamsRequest QueryParamsResponse Params queries the parameters of slashing module GET /cosmos/slashing/v1beta1/params
SigningInfo QuerySigningInfoRequest QuerySigningInfoResponse SigningInfo queries the signing info of given cons address GET /cosmos/slashing/v1beta1/signing_infos/
SigningInfos QuerySigningInfosRequest QuerySigningInfosResponse SigningInfos queries signing info of all validators GET /cosmos/slashing/v1beta1/signing_infos

Top

# cosmos/slashing/v1beta1/tx.proto

# MsgUnjail

MsgUnjail defines the Msg/Unjail request type

Field Type Label Description
validator_addr string

# MsgUnjailResponse

MsgUnjailResponse defines the Msg/Unjail response type

# Msg

Msg defines the slashing Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Unjail MsgUnjail MsgUnjailResponse Unjail defines a method for unjailing a jailed validator, thus returning them into the bonded validator set, so they can begin receiving provisions and rewards again.

Top

# cosmos/staking/v1beta1/staking.proto

# Commission

Commission defines commission parameters for a given validator.

Field Type Label Description
commission_rates CommissionRates commission_rates defines the initial commission rates to be used for creating a validator.
update_time google.protobuf.Timestamp update_time is the last time the commission rate was changed.

# CommissionRates

CommissionRates defines the initial commission rates to be used for creating a validator.

Field Type Label Description
rate string rate is the commission rate charged to delegators, as a fraction.
max_rate string max_rate defines the maximum commission rate which validator can ever charge, as a fraction.
max_change_rate string max_change_rate defines the maximum daily increase of the validator commission, as a fraction.

# DVPair

DVPair is struct that just has a delegator-validator pair with no other data. It is intended to be used as a marshalable pointer. For example, a DVPair can be used to construct the key to getting an UnbondingDelegation from state.

Field Type Label Description
delegator_address string
validator_address string

# DVPairs

DVPairs defines an array of DVPair objects.

Field Type Label Description
pairs DVPair repeated

# DVVTriplet

DVVTriplet is struct that just has a delegator-validator-validator triplet with no other data. It is intended to be used as a marshalable pointer. For example, a DVVTriplet can be used to construct the key to getting a Redelegation from state.

Field Type Label Description
delegator_address string
validator_src_address string
validator_dst_address string

# DVVTriplets

DVVTriplets defines an array of DVVTriplet objects.

Field Type Label Description
triplets DVVTriplet repeated

# Delegation

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.

Field Type Label Description
delegator_address string delegator_address is the bech32-encoded address of the delegator.
validator_address string validator_address is the bech32-encoded address of the validator.
shares string shares define the delegation shares received.

# DelegationResponse

DelegationResponse is equivalent to Delegation except that it contains a balance in addition to shares which is more suitable for client responses.

Field Type Label Description
delegation Delegation
balance cosmos.base.v1beta1.Coin

# Description

Description defines a validator description.

Field Type Label Description
moniker string moniker defines a human-readable name for the validator.
identity string identity defines an optional identity signature (ex. UPort or Keybase).
website string website defines an optional website link.
security_contact string security_contact defines an optional email for security contact.
details string details define other optional details.

# HistoricalInfo

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).

Field Type Label Description
header tendermint.types.Header
valset Validator repeated

# Params

Params defines the parameters for the staking module.

Field Type Label Description
unbonding_time google.protobuf.Duration unbonding_time is the time duration of unbonding.
max_validators uint32 max_validators is the maximum number of validators.
max_entries uint32 max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).
historical_entries uint32 historical_entries is the number of historical entries to persist.
bond_denom string bond_denom defines the bondable coin denomination.

# Pool

Pool is used for tracking bonded and not-bonded token supply of the bond denomination.

Field Type Label Description
not_bonded_tokens string
bonded_tokens string

# Redelegation

Redelegation contains the list of a particular delegator's redelegating bonds from a particular source validator to a particular destination validator.

Field Type Label Description
delegator_address string delegator_address is the bech32-encoded address of the delegator.
validator_src_address string validator_src_address is the validator redelegation source operator address.
validator_dst_address string validator_dst_address is the validator redelegation destination operator address.
entries RedelegationEntry repeated entries are the redelegation entries.

redelegation entries |

# RedelegationEntry

RedelegationEntry defines a redelegation object with relevant metadata.

Field Type Label Description
creation_height int64 creation_height defines the height which the redelegation took place.
completion_time google.protobuf.Timestamp completion_time defines the unix time for redelegation completion.
initial_balance string initial_balance defines the initial balance when redelegation started.
shares_dst string shares_dst is the amount of destination-validator shares created by redelegation.

# RedelegationEntryResponse

RedelegationEntryResponse is equivalent to a RedelegationEntry except that it contains a balance in addition to shares which is more suitable for client responses.

Field Type Label Description
redelegation_entry RedelegationEntry
balance string

# RedelegationResponse

RedelegationResponse is equivalent to a Redelegation except that its entries contain a balance in addition to shares which is more suitable for client responses.

Field Type Label Description
redelegation Redelegation
entries RedelegationEntryResponse repeated

# UnbondingDelegation

UnbondingDelegation stores all of a single delegator's unbonding bonds for a single validator in an time-ordered list.

Field Type Label Description
delegator_address string delegator_address is the bech32-encoded address of the delegator.
validator_address string validator_address is the bech32-encoded address of the validator.
entries UnbondingDelegationEntry repeated entries are the unbonding delegation entries.

unbonding delegation entries |

# UnbondingDelegationEntry

UnbondingDelegationEntry defines an unbonding object with relevant metadata.

Field Type Label Description
creation_height int64 creation_height is the height which the unbonding took place.
completion_time google.protobuf.Timestamp completion_time is the unix time for unbonding completion.
initial_balance string initial_balance defines the tokens initially scheduled to receive at completion.
balance string balance defines the tokens to receive at completion.

# ValAddresses

ValAddresses defines a repeated set of validator addresses.

Field Type Label Description
addresses string repeated

# Validator

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.

Field Type Label Description
operator_address string operator_address defines the address of the validator's operator; bech encoded in JSON.
consensus_pubkey google.protobuf.Any consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.
jailed bool jailed defined whether the validator has been jailed from bonded status or not.
status BondStatus status is the validator status (bonded/unbonding/unbonded).
tokens string tokens define the delegated tokens (incl. self-delegation).
delegator_shares string delegator_shares defines total shares issued to a validator's delegators.
description Description description defines the description terms for the validator.
unbonding_height int64 unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.
unbonding_time google.protobuf.Timestamp unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.
commission Commission commission defines the commission parameters.
min_self_delegation string min_self_delegation is the validator's self declared minimum self delegation.

# BondStatus

BondStatus is the status of a validator.

Name Number Description
BOND_STATUS_UNSPECIFIED 0 UNSPECIFIED defines an invalid validator status.
BOND_STATUS_UNBONDED 1 UNBONDED defines a validator that is not bonded.
BOND_STATUS_UNBONDING 2 UNBONDING defines a validator that is unbonding.
BOND_STATUS_BONDED 3 BONDED defines a validator that is bonded.

Top

# cosmos/staking/v1beta1/genesis.proto

# GenesisState

GenesisState defines the staking module's genesis state.

Field Type Label Description
params Params params defines all the paramaters of related to deposit.
last_total_power bytes last_total_power tracks the total amounts of bonded tokens recorded during the previous end block.
last_validator_powers LastValidatorPower repeated last_validator_powers is a special index that provides a historical list of the last-block's bonded validators.
validators Validator repeated delegations defines the validator set at genesis.
delegations Delegation repeated delegations defines the delegations active at genesis.
unbonding_delegations UnbondingDelegation repeated unbonding_delegations defines the unbonding delegations active at genesis.
redelegations Redelegation repeated redelegations defines the redelegations active at genesis.
exported bool

# LastValidatorPower

LastValidatorPower required for validator set update logic.

Field Type Label Description
address string address is the address of the validator.
power int64 power defines the power of the validator.

Top

# cosmos/staking/v1beta1/query.proto

# QueryDelegationRequest

QueryDelegationRequest is request type for the Query/Delegation RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
validator_addr string validator_addr defines the validator address to query for.

# QueryDelegationResponse

QueryDelegationResponse is response type for the Query/Delegation RPC method.

Field Type Label Description
delegation_response DelegationResponse delegation_responses defines the delegation info of a delegation.

# QueryDelegatorDelegationsRequest

QueryDelegatorDelegationsRequest is request type for the Query/DelegatorDelegations RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDelegatorDelegationsResponse

QueryDelegatorDelegationsResponse is response type for the Query/DelegatorDelegations RPC method.

Field Type Label Description
delegation_responses DelegationResponse repeated delegation_responses defines all the delegations' info of a delegator.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryDelegatorUnbondingDelegationsRequest

QueryDelegatorUnbondingDelegationsRequest is request type for the Query/DelegatorUnbondingDelegations RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDelegatorUnbondingDelegationsResponse

QueryUnbondingDelegatorDelegationsResponse is response type for the Query/UnbondingDelegatorDelegations RPC method.

Field Type Label Description
unbonding_responses UnbondingDelegation repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryDelegatorValidatorRequest

QueryDelegatorValidatorRequest is request type for the Query/DelegatorValidator RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
validator_addr string validator_addr defines the validator address to query for.

# QueryDelegatorValidatorResponse

QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method.

Field Type Label Description
validator Validator validator defines the the validator info.

# QueryDelegatorValidatorsRequest

QueryDelegatorValidatorsRequest is request type for the Query/DelegatorValidators RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDelegatorValidatorsResponse

QueryDelegatorValidatorsResponse is response type for the Query/DelegatorValidators RPC method.

Field Type Label Description
validators Validator repeated validators defines the the validators' info of a delegator.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryHistoricalInfoRequest

QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC method.

Field Type Label Description
height int64 height defines at which height to query the historical info.

# QueryHistoricalInfoResponse

QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC method.

Field Type Label Description
hist HistoricalInfo hist defines the historical info at the given height.

# QueryParamsRequest

QueryParamsRequest is request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is response type for the Query/Params RPC method.

Field Type Label Description
params Params params holds all the parameters of this module.

# QueryPoolRequest

QueryPoolRequest is request type for the Query/Pool RPC method.

# QueryPoolResponse

QueryPoolResponse is response type for the Query/Pool RPC method.

Field Type Label Description
pool Pool pool defines the pool info.

# QueryRedelegationsRequest

QueryRedelegationsRequest is request type for the Query/Redelegations RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
src_validator_addr string src_validator_addr defines the validator address to redelegate from.
dst_validator_addr string dst_validator_addr defines the validator address to redelegate to.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryRedelegationsResponse

QueryRedelegationsResponse is response type for the Query/Redelegations RPC method.

Field Type Label Description
redelegation_responses RedelegationResponse repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryUnbondingDelegationRequest

QueryUnbondingDelegationRequest is request type for the Query/UnbondingDelegation RPC method.

Field Type Label Description
delegator_addr string delegator_addr defines the delegator address to query for.
validator_addr string validator_addr defines the validator address to query for.

# QueryUnbondingDelegationResponse

QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method.

Field Type Label Description
unbond UnbondingDelegation unbond defines the unbonding information of a delegation.

# QueryValidatorDelegationsRequest

QueryValidatorDelegationsRequest is request type for the Query/ValidatorDelegations RPC method

Field Type Label Description
validator_addr string validator_addr defines the validator address to query for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryValidatorDelegationsResponse

QueryValidatorDelegationsResponse is response type for the Query/ValidatorDelegations RPC method

Field Type Label Description
delegation_responses DelegationResponse repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryValidatorRequest

QueryValidatorRequest is response type for the Query/Validator RPC method

Field Type Label Description
validator_addr string validator_addr defines the validator address to query for.

# QueryValidatorResponse

QueryValidatorResponse is response type for the Query/Validator RPC method

Field Type Label Description
validator Validator validator defines the the validator info.

# QueryValidatorUnbondingDelegationsRequest

QueryValidatorUnbondingDelegationsRequest is required type for the Query/ValidatorUnbondingDelegations RPC method

Field Type Label Description
validator_addr string validator_addr defines the validator address to query for.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryValidatorUnbondingDelegationsResponse

QueryValidatorUnbondingDelegationsResponse is response type for the Query/ValidatorUnbondingDelegations RPC method.

Field Type Label Description
unbonding_responses UnbondingDelegation repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryValidatorsRequest

QueryValidatorsRequest is request type for Query/Validators RPC method.

Field Type Label Description
status string status enables to query for validators matching a given status.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryValidatorsResponse

QueryValidatorsResponse is response type for the Query/Validators RPC method

Field Type Label Description
validators Validator repeated validators contains all the queried validators.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Validators QueryValidatorsRequest QueryValidatorsResponse Validators queries all validators that match the given status. GET /cosmos/staking/v1beta1/validators
Validator QueryValidatorRequest QueryValidatorResponse Validator queries validator info for given validator address. GET /cosmos/staking/v1beta1/validators/
ValidatorDelegations QueryValidatorDelegationsRequest QueryValidatorDelegationsResponse ValidatorDelegations queries delegate info for given validator. GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations
ValidatorUnbondingDelegations QueryValidatorUnbondingDelegationsRequest QueryValidatorUnbondingDelegationsResponse ValidatorUnbondingDelegations queries unbonding delegations of a validator. GET /cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations
Delegation QueryDelegationRequest QueryDelegationResponse Delegation queries delegate info for given validator delegator pair. GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/
UnbondingDelegation QueryUnbondingDelegationRequest QueryUnbondingDelegationResponse UnbondingDelegation queries unbonding info for given validator delegator pair. GET /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation
DelegatorDelegations QueryDelegatorDelegationsRequest QueryDelegatorDelegationsResponse DelegatorDelegations queries all delegations of a given delegator address. GET /cosmos/staking/v1beta1/delegations/
DelegatorUnbondingDelegations QueryDelegatorUnbondingDelegationsRequest QueryDelegatorUnbondingDelegationsResponse DelegatorUnbondingDelegations queries all unbonding delegations of a given delegator address. GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations
Redelegations QueryRedelegationsRequest QueryRedelegationsResponse Redelegations queries redelegations of given address. GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations
DelegatorValidators QueryDelegatorValidatorsRequest QueryDelegatorValidatorsResponse DelegatorValidators queries all validators info for given delegator address. GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators
DelegatorValidator QueryDelegatorValidatorRequest QueryDelegatorValidatorResponse DelegatorValidator queries validator info for given delegator validator pair. GET /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/
HistoricalInfo QueryHistoricalInfoRequest QueryHistoricalInfoResponse HistoricalInfo queries the historical info for given height. GET /cosmos/staking/v1beta1/historical_info/
Pool QueryPoolRequest QueryPoolResponse Pool queries the pool info. GET /cosmos/staking/v1beta1/pool
Params QueryParamsRequest QueryParamsResponse Parameters queries the staking parameters. GET /cosmos/staking/v1beta1/params

Top

# cosmos/staking/v1beta1/tx.proto

# MsgBeginRedelegate

MsgBeginRedelegate defines a SDK message for performing a redelegation of coins from a delegator and source validator to a destination validator.

Field Type Label Description
delegator_address string
validator_src_address string
validator_dst_address string
amount cosmos.base.v1beta1.Coin

# MsgBeginRedelegateResponse

MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.

Field Type Label Description
completion_time google.protobuf.Timestamp

# MsgCreateValidator

MsgCreateValidator defines a SDK message for creating a new validator.

Field Type Label Description
description Description
commission CommissionRates
min_self_delegation string
delegator_address string
validator_address string
pubkey google.protobuf.Any
value cosmos.base.v1beta1.Coin

# MsgCreateValidatorResponse

MsgCreateValidatorResponse defines the Msg/CreateValidator response type.

# MsgDelegate

MsgDelegate defines a SDK message for performing a delegation of coins from a delegator to a validator.

Field Type Label Description
delegator_address string
validator_address string
amount cosmos.base.v1beta1.Coin

# MsgDelegateResponse

MsgDelegateResponse defines the Msg/Delegate response type.

# MsgEditValidator

MsgEditValidator defines a SDK message for editing an existing validator.

Field Type Label Description
description Description
validator_address string
commission_rate string We pass a reference to the new commission rate and min self delegation as it's not mandatory to update. If not updated, the deserialized rate will be zero with no way to distinguish if an update was intended. REF: #2373
min_self_delegation string

# MsgEditValidatorResponse

MsgEditValidatorResponse defines the Msg/EditValidator response type.

# MsgUndelegate

MsgUndelegate defines a SDK message for performing an undelegation from a delegate and a validator.

Field Type Label Description
delegator_address string
validator_address string
amount cosmos.base.v1beta1.Coin

# MsgUndelegateResponse

MsgUndelegateResponse defines the Msg/Undelegate response type.

Field Type Label Description
completion_time google.protobuf.Timestamp

# Msg

Msg defines the staking Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
CreateValidator MsgCreateValidator MsgCreateValidatorResponse CreateValidator defines a method for creating a new validator.
EditValidator MsgEditValidator MsgEditValidatorResponse EditValidator defines a method for editing an existing validator.
Delegate MsgDelegate MsgDelegateResponse Delegate defines a method for performing a delegation of coins from a delegator to a validator.
BeginRedelegate MsgBeginRedelegate MsgBeginRedelegateResponse BeginRedelegate defines a method for performing a redelegation of coins from a delegator and source validator to a destination validator.
Undelegate MsgUndelegate MsgUndelegateResponse Undelegate defines a method for performing an undelegation from a delegate and a validator.

Top

# cosmos/tx/signing/v1beta1/signing.proto

# SignatureDescriptor

SignatureDescriptor is a convenience type which represents the full data for a signature including the public key of the signer, signing modes and the signature itself. It is primarily used for coordinating signatures between clients.

Field Type Label Description
public_key google.protobuf.Any public_key is the public key of the signer
data SignatureDescriptor.Data
sequence uint64 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.

# SignatureDescriptor.Data

Data represents signature data

Field Type Label Description
single SignatureDescriptor.Data.Single single represents a single signer
multi SignatureDescriptor.Data.Multi multi represents a multisig signer

# SignatureDescriptor.Data.Multi

Multi is the signature data for a multisig public key

Field Type Label Description
bitarray cosmos.crypto.multisig.v1beta1.CompactBitArray bitarray specifies which keys within the multisig are signing
signatures SignatureDescriptor.Data repeated signatures is the signatures of the multi-signature

# SignatureDescriptor.Data.Single

Single is the signature data for a single signer

Field Type Label Description
mode SignMode mode is the signing mode of the single signer
signature bytes signature is the raw signature bytes

# SignatureDescriptors

SignatureDescriptors wraps multiple SignatureDescriptor's.

Field Type Label Description
signatures SignatureDescriptor repeated signatures are the signature descriptors

# SignMode

SignMode represents a signing mode with its own security guarantees.

Name Number Description
SIGN_MODE_UNSPECIFIED 0 SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be rejected
SIGN_MODE_DIRECT 1 SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is verified with raw bytes from Tx
SIGN_MODE_TEXTUAL 2 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
SIGN_MODE_LEGACY_AMINO_JSON 127 SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses Amino JSON and will be removed in the future

Top

# cosmos/tx/v1beta1/tx.proto

# AuthInfo

AuthInfo describes the fee and signer modes that are used to sign a transaction.

Field Type Label Description
signer_infos SignerInfo repeated 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 Fee 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.

# Fee

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.

Field Type Label Description
amount cosmos.base.v1beta1.Coin repeated amount is the amount of coins to be paid as a fee
gas_limit uint64 gas_limit is the maximum gas that can be used in transaction processing before an out of gas error occurs
payer string 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 if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does not support fee grants, this will fail

# ModeInfo

ModeInfo describes the signing mode of a single or nested multisig signer.

Field Type Label Description
single ModeInfo.Single single represents a single signer
multi ModeInfo.Multi multi represents a nested multisig signer

# ModeInfo.Multi

Multi is the mode info for a multisig public key

Field Type Label Description
bitarray cosmos.crypto.multisig.v1beta1.CompactBitArray bitarray specifies which keys within the multisig are signing
mode_infos ModeInfo repeated mode_infos is the corresponding modes of the signers of the multisig which could include nested multisig public keys

# ModeInfo.Single

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

Field Type Label Description
mode cosmos.tx.signing.v1beta1.SignMode mode is the signing mode of the single signer

# SignDoc

SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT.

Field Type Label Description
body_bytes bytes body_bytes is protobuf serialization of a TxBody that matches the representation in TxRaw.
auth_info_bytes bytes auth_info_bytes is a protobuf serialization of an AuthInfo that matches the representation in TxRaw.
chain_id string chain_id is the unique identifier of the chain this transaction targets. It prevents signed transactions from being used on another chain by an attacker
account_number uint64 account_number is the account number of the account in state

# SignerInfo

SignerInfo describes the public key and signing mode of a single top-level signer.

Field Type Label Description
public_key google.protobuf.Any public_key is the public key of the signer. It is optional for accounts that already exist in state. If unset, the verifier can use the required \ signer address for this position and lookup the public key.
mode_info ModeInfo mode_info describes the signing mode of the signer and is a nested structure to support nested multisig pubkey's
sequence uint64 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.

# Tx

Tx is the standard type used for broadcasting transactions.

Field Type Label Description
body TxBody body is the processable content of the transaction
auth_info AuthInfo auth_info is the authorization related content of the transaction, specifically signers, signer modes and fee
signatures bytes repeated 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.

# TxBody

TxBody is the body of a transaction that all signers sign over.

Field Type Label Description
messages google.protobuf.Any repeated 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.
memo string memo is any arbitrary memo to be added to the transaction
timeout_height uint64 timeout is the block height after which this transaction will not be processed by the chain
extension_options google.protobuf.Any repeated extension_options are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, the transaction will be rejected
non_critical_extension_options google.protobuf.Any repeated extension_options are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, they will be ignored

# TxRaw

TxRaw is a variant of Tx that pins the signer's exact binary representation of body and auth_info. This is used for signing, broadcasting and verification. The binary serialize(tx: TxRaw) is stored in Tendermint and the hash sha256(serialize(tx: TxRaw)) becomes the "txhash", commonly used as the transaction ID.

Field Type Label Description
body_bytes bytes body_bytes is a protobuf serialization of a TxBody that matches the representation in SignDoc.
auth_info_bytes bytes auth_info_bytes is a protobuf serialization of an AuthInfo that matches the representation in SignDoc.
signatures bytes repeated 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.

Top

# cosmos/tx/v1beta1/service.proto

# BroadcastTxRequest

BroadcastTxRequest is the request type for the Service.BroadcastTxRequest RPC method.

Field Type Label Description
tx_bytes bytes tx_bytes is the raw transaction.
mode BroadcastMode

# BroadcastTxResponse

BroadcastTxResponse is the response type for the Service.BroadcastTx method.

Field Type Label Description
tx_response cosmos.base.abci.v1beta1.TxResponse tx_response is the queried TxResponses.

# GetTxRequest

GetTxRequest is the request type for the Service.GetTx RPC method.

Field Type Label Description
hash string hash is the tx hash to query, encoded as a hex string.

# GetTxResponse

GetTxResponse is the response type for the Service.GetTx method.

Field Type Label Description
tx Tx tx is the queried transaction.
tx_response cosmos.base.abci.v1beta1.TxResponse tx_response is the queried TxResponses.

# GetTxsEventRequest

GetTxsEventRequest is the request type for the Service.TxsByEvents RPC method.

Field Type Label Description
events string repeated events is the list of transaction event type.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an pagination for the request.

# GetTxsEventResponse

GetTxsEventResponse is the response type for the Service.TxsByEvents RPC method.

Field Type Label Description
txs Tx repeated txs is the list of queried transactions.
tx_responses cosmos.base.abci.v1beta1.TxResponse repeated tx_responses is the list of queried TxResponses.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines an pagination for the response.

# SimulateRequest

SimulateRequest is the request type for the Service.Simulate RPC method.

Field Type Label Description
tx Tx tx is the transaction to simulate.

# SimulateResponse

SimulateResponse is the response type for the Service.SimulateRPC method.

Field Type Label Description
gas_info cosmos.base.abci.v1beta1.GasInfo gas_info is the information about gas used in the simulation.
result cosmos.base.abci.v1beta1.Result result is the result of the simulation.

# BroadcastMode

BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.

Name Number Description
BROADCAST_MODE_UNSPECIFIED 0 zero-value for mode ordering
BROADCAST_MODE_BLOCK 1 BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for the tx to be committed in a block.
BROADCAST_MODE_SYNC 2 BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for a CheckTx execution response only.
BROADCAST_MODE_ASYNC 3 BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns immediately.

# Service

Service defines a gRPC service for interacting with transactions.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Simulate SimulateRequest SimulateResponse Simulate simulates executing a transaction for estimating gas usage. POST /cosmos/tx/v1beta1/simulate
GetTx GetTxRequest GetTxResponse GetTx fetches a tx by hash. GET /cosmos/tx/v1beta1/txs/
BroadcastTx BroadcastTxRequest BroadcastTxResponse BroadcastTx broadcast transaction. POST /cosmos/tx/v1beta1/txs
GetTxsEvent GetTxsEventRequest GetTxsEventResponse GetTxsEvent fetches txs by event. GET /cosmos/tx/v1beta1/txs

Top

# cosmos/upgrade/v1beta1/upgrade.proto

# CancelSoftwareUpgradeProposal

CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software upgrade.

Field Type Label Description
title string
description string

# Plan

Plan specifies information about a planned upgrade and when it should occur.

Field Type Label Description
name string 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 google.protobuf.Timestamp The time after which the upgrade must be performed. Leave set to its zero value to use a pre-defined Height instead.
height int64 The height at which the upgrade must be performed. Only used if Time is not set.
info string Any application specific upgrade info to be included on-chain such as a git commit that validators could automatically upgrade to
upgraded_client_state google.protobuf.Any IBC-enabled chains can opt-in to including the upgraded client state in its upgrade plan This will make the chain commit to the correct upgraded (self) client state before the upgrade occurs, so that connecting chains can verify that the new upgraded client is valid by verifying a proof on the previous version of the chain. This will allow IBC connections to persist smoothly across planned chain upgrades

# SoftwareUpgradeProposal

SoftwareUpgradeProposal is a gov Content type for initiating a software upgrade.

Field Type Label Description
title string
description string
plan Plan

Top

# cosmos/upgrade/v1beta1/query.proto

# QueryAppliedPlanRequest

QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC method.

Field Type Label Description
name string name is the name of the applied plan to query for.

# QueryAppliedPlanResponse

QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC method.

Field Type Label Description
height int64 height is the block height at which the plan was applied.

# QueryCurrentPlanRequest

QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC method.

# QueryCurrentPlanResponse

QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC method.

Field Type Label Description
plan Plan plan is the current upgrade plan.

# QueryUpgradedConsensusStateRequest

QueryUpgradedConsensusStateRequest is the request type for the Query/UpgradedConsensusState RPC method.

Field Type Label Description
last_height int64 last height of the current chain must be sent in request as this is the height under which next consensus state is stored

# QueryUpgradedConsensusStateResponse

QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState RPC method.

Field Type Label Description
upgraded_consensus_state google.protobuf.Any

# Query

Query defines the gRPC upgrade querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
CurrentPlan QueryCurrentPlanRequest QueryCurrentPlanResponse CurrentPlan queries the current upgrade plan. GET /cosmos/upgrade/v1beta1/current_plan
AppliedPlan QueryAppliedPlanRequest QueryAppliedPlanResponse AppliedPlan queries a previously applied upgrade plan by its name. GET /cosmos/upgrade/v1beta1/applied_plan/
UpgradedConsensusState QueryUpgradedConsensusStateRequest QueryUpgradedConsensusStateResponse 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 GET /cosmos/upgrade/v1beta1/upgraded_consensus_state/

Top

# cosmos/vesting/v1beta1/tx.proto

# MsgCreateVestingAccount

MsgCreateVestingAccount defines a message that enables creating a vesting account.

Field Type Label Description
from_address string
to_address string
amount cosmos.base.v1beta1.Coin repeated
end_time int64
delayed bool

# MsgCreateVestingAccountResponse

MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.

# Msg

Msg defines the bank Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
CreateVestingAccount MsgCreateVestingAccount MsgCreateVestingAccountResponse CreateVestingAccount defines a method that enables creating a vesting account.

Top

# cosmos/vesting/v1beta1/vesting.proto

# BaseVestingAccount

BaseVestingAccount implements the VestingAccount interface. It contains all the necessary fields needed for any vesting account implementation.

Field Type Label Description
base_account cosmos.auth.v1beta1.BaseAccount
original_vesting cosmos.base.v1beta1.Coin repeated
delegated_free cosmos.base.v1beta1.Coin repeated
delegated_vesting cosmos.base.v1beta1.Coin repeated
end_time int64

# ContinuousVestingAccount

ContinuousVestingAccount implements the VestingAccount interface. It continuously vests by unlocking coins linearly with respect to time.

Field Type Label Description
base_vesting_account BaseVestingAccount
start_time int64

# DelayedVestingAccount

DelayedVestingAccount implements the VestingAccount interface. It vests all coins after a specific time, but non prior. In other words, it keeps them locked until a specified time.

Field Type Label Description
base_vesting_account BaseVestingAccount

# Period

Period defines a length of time and amount of coins that will vest.

Field Type Label Description
length int64
amount cosmos.base.v1beta1.Coin repeated

# PeriodicVestingAccount

PeriodicVestingAccount implements the VestingAccount interface. It periodically vests by unlocking coins during each specified period.

Field Type Label Description
base_vesting_account BaseVestingAccount
start_time int64
vesting_periods Period repeated

Top

# ibc/applications/transfer/v1/transfer.proto

# DenomTrace

DenomTrace contains the base denomination for ICS20 fungible tokens and the source tracing information path.

Field Type Label Description
path string path defines the chain of port/channel identifiers used for tracing the source of the fungible token.
base_denom string base denomination of the relayed fungible token.

# FungibleTokenPacketData

FungibleTokenPacketData defines a struct for the packet payload See FungibleTokenPacketData spec: https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures

Field Type Label Description
denom string the token denomination to be transferred
amount uint64 the token amount to be transferred
sender string the sender address
receiver string the recipient address on the destination chain

# Params

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.

Field Type Label Description
send_enabled bool send_enabled enables or disables all cross-chain token transfers from this chain.
receive_enabled bool receive_enabled enables or disables all cross-chain token transfers to this chain.

Top

# ibc/applications/transfer/v1/genesis.proto

# GenesisState

GenesisState defines the ibc-transfer genesis state

Field Type Label Description
port_id string
denom_traces DenomTrace repeated
params Params

Top

# ibc/applications/transfer/v1/query.proto

# QueryDenomTraceRequest

QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC method

Field Type Label Description
hash string hash (in hex format) of the denomination trace information.

# QueryDenomTraceResponse

QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC method.

Field Type Label Description
denom_trace DenomTrace denom_trace returns the requested denomination trace information.

# QueryDenomTracesRequest

QueryConnectionsRequest is the request type for the Query/DenomTraces RPC method

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an optional pagination for the request.

# QueryDenomTracesResponse

QueryConnectionsResponse is the response type for the Query/DenomTraces RPC method.

Field Type Label Description
denom_traces DenomTrace repeated denom_traces returns all denominations trace information.
pagination cosmos.base.query.v1beta1.PageResponse pagination defines the pagination in the response.

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
params Params params defines the parameters of the module.

# Query

Query provides defines the gRPC querier service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
DenomTrace QueryDenomTraceRequest QueryDenomTraceResponse DenomTrace queries a denomination trace information. GET /ibc/applications/transfer/v1beta1/denom_traces/
DenomTraces QueryDenomTracesRequest QueryDenomTracesResponse DenomTraces queries all denomination traces. GET /ibc/applications/transfer/v1beta1/denom_traces
Params QueryParamsRequest QueryParamsResponse Params queries all parameters of the ibc-transfer module. GET /ibc/applications/transfer/v1beta1/params

Top

# ibc/core/client/v1/client.proto

# ClientConsensusStates

ClientConsensusStates defines all the stored consensus states for a given client.

Field Type Label Description
client_id string client identifier
consensus_states ConsensusStateWithHeight repeated consensus states and their heights associated with the client

# ClientUpdateProposal

ClientUpdateProposal is a governance proposal. If it passes, the client is updated with the provided header. The update may fail if the header is not valid given certain conditions specified by the client implementation.

Field Type Label Description
title string the title of the update proposal
description string the description of the proposal
client_id string the client identifier for the client to be updated if the proposal passes
header google.protobuf.Any the header used to update the client if the proposal passes

# ConsensusStateWithHeight

ConsensusStateWithHeight defines a consensus state with an additional height field.

Field Type Label Description
height Height consensus state height
consensus_state google.protobuf.Any consensus state

# Height

Height is a monotonically increasing data type that can be compared against another Height for the purposes of updating and freezing clients

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

Field Type Label Description
revision_number uint64 the revision that the client is currently on
revision_height uint64 the height within the given revision

# IdentifiedClientState

IdentifiedClientState defines a client state with an additional client identifier field.

Field Type Label Description
client_id string client identifier
client_state google.protobuf.Any client state

# Params

Params defines the set of IBC light client parameters.

Field Type Label Description
allowed_clients string repeated allowed_clients defines the list of allowed client state types.

Top

# ibc/applications/transfer/v1/tx.proto

# MsgTransfer

MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between ICS20 enabled chains. See ICS Spec here: https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures

Field Type Label Description
source_port string the port on which the packet will be sent
source_channel string the channel by which the packet will be sent
token cosmos.base.v1beta1.Coin the tokens to be transferred
sender string the sender address
receiver string the recipient address on the destination chain
timeout_height ibc.core.client.v1.Height Timeout height relative to the current block height. The timeout is disabled when set to 0.
timeout_timestamp uint64 Timeout timestamp (in nanoseconds) relative to the current block timestamp. The timeout is disabled when set to 0.

# MsgTransferResponse

MsgTransferResponse defines the Msg/Transfer response type.

# Msg

Msg defines the ibc/transfer Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
Transfer MsgTransfer MsgTransferResponse Transfer defines a rpc handler method for MsgTransfer.

Top

# ibc/core/channel/v1/channel.proto

# Acknowledgement

Acknowledgement is the recommended acknowledgement format to be used by app-specific protocols. NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental conflicts with other protobuf message formats used for acknowledgements. The first byte of any message with this format will be the non-ASCII values 0xaa (result) or 0xb2 (error). Implemented as defined by ICS: https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics#acknowledgement-envelope

Field Type Label Description
result bytes
error string

# Channel

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.

Field Type Label Description
state State current state of the channel end
ordering Order whether the channel is ordered or unordered
counterparty Counterparty counterparty channel end
connection_hops string repeated list of connection identifiers, in order, along which packets sent on this channel will travel
version string opaque channel version, which is agreed upon during the handshake

# Counterparty

Counterparty defines a channel end counterparty

Field Type Label Description
port_id string port on the counterparty chain which owns the other end of the channel.
channel_id string channel end on the counterparty chain

# IdentifiedChannel

IdentifiedChannel defines a channel with additional port and channel identifier fields.

Field Type Label Description
state State current state of the channel end
ordering Order whether the channel is ordered or unordered
counterparty Counterparty counterparty channel end
connection_hops string repeated list of connection identifiers, in order, along which packets sent on this channel will travel
version string opaque channel version, which is agreed upon during the handshake
port_id string port identifier
channel_id string channel identifier

# Packet

Packet defines a type that carries data across different chains through IBC

Field Type Label Description
sequence uint64 number corresponds to the order of sends and receives, where a Packet with an earlier sequence number must be sent and received before a Packet with a later sequence number.
source_port string identifies the port on the sending chain.
source_channel string identifies the channel end on the sending chain.
destination_port string identifies the port on the receiving chain.
destination_channel string identifies the channel end on the receiving chain.
data bytes actual opaque bytes transferred directly to the application module
timeout_height ibc.core.client.v1.Height block height after which the packet times out
timeout_timestamp uint64 block timestamp (in nanoseconds) after which the packet times out

# PacketState

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.

Field Type Label Description
port_id string channel port identifier.
channel_id string channel unique identifier.
sequence uint64 packet sequence.
data bytes embedded data that represents packet state.

# Order

Order defines if a channel is ORDERED or UNORDERED

Name Number Description
ORDER_NONE_UNSPECIFIED 0 zero-value for channel ordering
ORDER_UNORDERED 1 packets can be delivered in any order, which may differ from the order in which they were sent.
ORDER_ORDERED 2 packets are delivered exactly in the order which they were sent

# State

State defines if a channel is in one of the following states: CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

Name Number Description
STATE_UNINITIALIZED_UNSPECIFIED 0 Default State
STATE_INIT 1 A channel has just started the opening handshake.
STATE_TRYOPEN 2 A channel has acknowledged the handshake step on the counterparty chain.
STATE_OPEN 3 A channel has completed the handshake. Open channels are ready to send and receive packets.
STATE_CLOSED 4 A channel has been closed and can no longer be used to send or receive packets.

Top

# ibc/core/channel/v1/genesis.proto

# GenesisState

GenesisState defines the ibc channel submodule's genesis state.

Field Type Label Description
channels IdentifiedChannel repeated
acknowledgements PacketState repeated
commitments PacketState repeated
receipts PacketState repeated
send_sequences PacketSequence repeated
recv_sequences PacketSequence repeated
ack_sequences PacketSequence repeated
next_channel_sequence uint64 the sequence for the next generated channel identifier

# PacketSequence

PacketSequence defines the genesis type necessary to retrieve and store next send and receive sequences.

Field Type Label Description
port_id string
channel_id string
sequence uint64

Top

# ibc/core/channel/v1/query.proto

# QueryChannelClientStateRequest

QueryChannelClientStateRequest is the request type for the Query/ClientState RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier

# QueryChannelClientStateResponse

QueryChannelClientStateResponse is the Response type for the Query/QueryChannelClientState RPC method

Field Type Label Description
identified_client_state ibc.core.client.v1.IdentifiedClientState client state associated with the channel
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryChannelConsensusStateRequest

QueryChannelConsensusStateRequest is the request type for the Query/ConsensusState RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
revision_number uint64 revision number of the consensus state
revision_height uint64 revision height of the consensus state

# QueryChannelConsensusStateResponse

QueryChannelClientStateResponse is the Response type for the Query/QueryChannelClientState RPC method

Field Type Label Description
consensus_state google.protobuf.Any consensus state associated with the channel
client_id string client ID associated with the consensus state
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryChannelRequest

QueryChannelRequest is the request type for the Query/Channel RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier

# QueryChannelResponse

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.

Field Type Label Description
channel Channel channel associated with the request identifiers
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryChannelsRequest

QueryChannelsRequest is the request type for the Query/Channels RPC method

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryChannelsResponse

QueryChannelsResponse is the response type for the Query/Channels RPC method.

Field Type Label Description
channels IdentifiedChannel repeated list of stored channels of the chain.
pagination cosmos.base.query.v1beta1.PageResponse pagination response
height ibc.core.client.v1.Height query block height

# QueryConnectionChannelsRequest

QueryConnectionChannelsRequest is the request type for the Query/QueryConnectionChannels RPC method

Field Type Label Description
connection string connection unique identifier
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryConnectionChannelsResponse

QueryConnectionChannelsResponse is the Response type for the Query/QueryConnectionChannels RPC method

Field Type Label Description
channels IdentifiedChannel repeated list of channels associated with a connection.
pagination cosmos.base.query.v1beta1.PageResponse pagination response
height ibc.core.client.v1.Height query block height

# QueryNextSequenceReceiveRequest

QueryNextSequenceReceiveRequest is the request type for the Query/QueryNextSequenceReceiveRequest RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier

# QueryNextSequenceReceiveResponse

QuerySequenceResponse is the request type for the Query/QueryNextSequenceReceiveResponse RPC method

Field Type Label Description
next_sequence_receive uint64 next sequence receive number
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryPacketAcknowledgementRequest

QueryPacketAcknowledgementRequest is the request type for the Query/PacketAcknowledgement RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
sequence uint64 packet sequence

# QueryPacketAcknowledgementResponse

QueryPacketAcknowledgementResponse defines the client query response for a packet which also includes a proof and the height from which the proof was retrieved

Field Type Label Description
acknowledgement bytes packet associated with the request fields
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryPacketAcknowledgementsRequest

QueryPacketAcknowledgementsRequest is the request type for the Query/QueryPacketCommitments RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryPacketAcknowledgementsResponse

QueryPacketAcknowledgemetsResponse is the request type for the Query/QueryPacketAcknowledgements RPC method

Field Type Label Description
acknowledgements PacketState repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination response
height ibc.core.client.v1.Height query block height

# QueryPacketCommitmentRequest

QueryPacketCommitmentRequest is the request type for the Query/PacketCommitment RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
sequence uint64 packet sequence

# QueryPacketCommitmentResponse

QueryPacketCommitmentResponse defines the client query response for a packet which also includes a proof and the height from which the proof was retrieved

Field Type Label Description
commitment bytes packet associated with the request fields
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryPacketCommitmentsRequest

QueryPacketCommitmentsRequest is the request type for the Query/QueryPacketCommitments RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryPacketCommitmentsResponse

QueryPacketCommitmentsResponse is the request type for the Query/QueryPacketCommitments RPC method

Field Type Label Description
commitments PacketState repeated
pagination cosmos.base.query.v1beta1.PageResponse pagination response
height ibc.core.client.v1.Height query block height

# QueryPacketReceiptRequest

QueryPacketReceiptRequest is the request type for the Query/PacketReceipt RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
sequence uint64 packet sequence

# QueryPacketReceiptResponse

QueryPacketReceiptResponse defines the client query response for a packet receipt which also includes a proof, and the height from which the proof was retrieved

Field Type Label Description
received bool success flag for if receipt exists
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryUnreceivedAcksRequest

QueryUnreceivedAcks is the request type for the Query/UnreceivedAcks RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
packet_ack_sequences uint64 repeated list of acknowledgement sequences

# QueryUnreceivedAcksResponse

QueryUnreceivedAcksResponse is the response type for the Query/UnreceivedAcks RPC method

Field Type Label Description
sequences uint64 repeated list of unreceived acknowledgement sequences
height ibc.core.client.v1.Height query block height

# QueryUnreceivedPacketsRequest

QueryUnreceivedPacketsRequest is the request type for the Query/UnreceivedPackets RPC method

Field Type Label Description
port_id string port unique identifier
channel_id string channel unique identifier
packet_commitment_sequences uint64 repeated list of packet sequences

# QueryUnreceivedPacketsResponse

QueryUnreceivedPacketsResponse is the response type for the Query/UnreceivedPacketCommitments RPC method

Field Type Label Description
sequences uint64 repeated list of unreceived packet sequences
height ibc.core.client.v1.Height query block height

# Query

Query provides defines the gRPC querier service

Method Name Request Type Response Type Description HTTP Verb Endpoint
Channel QueryChannelRequest QueryChannelResponse Channel queries an IBC Channel. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/
Channels QueryChannelsRequest QueryChannelsResponse Channels queries all the IBC channels of a chain. GET /ibc/core/channel/v1beta1/channels
ConnectionChannels QueryConnectionChannelsRequest QueryConnectionChannelsResponse ConnectionChannels queries all the channels associated with a connection end. GET /ibc/core/channel/v1beta1/connections/{connection}/channels
ChannelClientState QueryChannelClientStateRequest QueryChannelClientStateResponse ChannelClientState queries for the client state for the channel associated with the provided channel identifiers. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/client_state
ChannelConsensusState QueryChannelConsensusStateRequest QueryChannelConsensusStateResponse ChannelConsensusState queries for the consensus state for the channel associated with the provided channel identifiers. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/
PacketCommitment QueryPacketCommitmentRequest QueryPacketCommitmentResponse PacketCommitment queries a stored packet commitment hash. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/
PacketCommitments QueryPacketCommitmentsRequest QueryPacketCommitmentsResponse PacketCommitments returns all the packet commitments hashes associated with a channel. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments
PacketReceipt QueryPacketReceiptRequest QueryPacketReceiptResponse PacketReceipt queries if a given packet sequence has been received on the queried chain GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_receipts/
PacketAcknowledgement QueryPacketAcknowledgementRequest QueryPacketAcknowledgementResponse PacketAcknowledgement queries a stored packet acknowledgement hash. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acks/
PacketAcknowledgements QueryPacketAcknowledgementsRequest QueryPacketAcknowledgementsResponse PacketAcknowledgements returns all the packet acknowledgements associated with a channel. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements
UnreceivedPackets QueryUnreceivedPacketsRequest QueryUnreceivedPacketsResponse UnreceivedPackets returns all the unreceived IBC packets associated with a channel and sequences. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets
UnreceivedAcks QueryUnreceivedAcksRequest QueryUnreceivedAcksResponse UnreceivedAcks returns all the unreceived IBC acknowledgements associated with a channel and sequences. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks
NextSequenceReceive QueryNextSequenceReceiveRequest QueryNextSequenceReceiveResponse NextSequenceReceive returns the next receive sequence for a given channel. GET /ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/next_sequence

Top

# ibc/core/channel/v1/tx.proto

# MsgAcknowledgement

MsgAcknowledgement receives incoming IBC acknowledgement

Field Type Label Description
packet Packet
acknowledgement bytes
proof_acked bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgAcknowledgementResponse

MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.

# MsgChannelCloseConfirm

MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of channel state to CLOSED on Chain A.

Field Type Label Description
port_id string
channel_id string
proof_init bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgChannelCloseConfirmResponse

MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response type.

# MsgChannelCloseInit

MsgChannelCloseInit defines a msg sent by a Relayer to Chain A to close a channel with Chain B.

Field Type Label Description
port_id string
channel_id string
signer string

# MsgChannelCloseInitResponse

MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.

# MsgChannelOpenAck

MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge the change of channel state to TRYOPEN on Chain B.

Field Type Label Description
port_id string
channel_id string
counterparty_channel_id string
counterparty_version string
proof_try bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgChannelOpenAckResponse

MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.

# MsgChannelOpenConfirm

MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of channel state to OPEN on Chain A.

Field Type Label Description
port_id string
channel_id string
proof_ack bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgChannelOpenConfirmResponse

MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response type.

# MsgChannelOpenInit

MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It is called by a relayer on Chain A.

Field Type Label Description
port_id string
channel Channel
signer string

# MsgChannelOpenInitResponse

MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.

# MsgChannelOpenTry

MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel on Chain B.

Field Type Label Description
port_id string
previous_channel_id string in the case of crossing hello's, when both chains call OpenInit, we need the channel identifier of the previous channel in state INIT
channel Channel
counterparty_version string
proof_init bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgChannelOpenTryResponse

MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.

# MsgRecvPacket

MsgRecvPacket receives incoming IBC packet

Field Type Label Description
packet Packet
proof_commitment bytes
proof_height ibc.core.client.v1.Height
signer string

# MsgRecvPacketResponse

MsgRecvPacketResponse defines the Msg/RecvPacket response type.

# MsgTimeout

MsgTimeout receives timed-out packet

Field Type Label Description
packet Packet
proof_unreceived bytes
proof_height ibc.core.client.v1.Height
next_sequence_recv uint64
signer string

# MsgTimeoutOnClose

MsgTimeoutOnClose timed-out packet upon counterparty channel closure.

Field Type Label Description
packet Packet
proof_unreceived bytes
proof_close bytes
proof_height ibc.core.client.v1.Height
next_sequence_recv uint64
signer string

# MsgTimeoutOnCloseResponse

MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.

# MsgTimeoutResponse

MsgTimeoutResponse defines the Msg/Timeout response type.

# Msg

Msg defines the ibc/channel Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
ChannelOpenInit MsgChannelOpenInit MsgChannelOpenInitResponse ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit.
ChannelOpenTry MsgChannelOpenTry MsgChannelOpenTryResponse ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry.
ChannelOpenAck MsgChannelOpenAck MsgChannelOpenAckResponse ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck.
ChannelOpenConfirm MsgChannelOpenConfirm MsgChannelOpenConfirmResponse ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm.
ChannelCloseInit MsgChannelCloseInit MsgChannelCloseInitResponse ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit.
ChannelCloseConfirm MsgChannelCloseConfirm MsgChannelCloseConfirmResponse ChannelCloseConfirm defines a rpc handler method for MsgChannelCloseConfirm.
RecvPacket MsgRecvPacket MsgRecvPacketResponse RecvPacket defines a rpc handler method for MsgRecvPacket.
Timeout MsgTimeout MsgTimeoutResponse Timeout defines a rpc handler method for MsgTimeout.
TimeoutOnClose MsgTimeoutOnClose MsgTimeoutOnCloseResponse TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose.
Acknowledgement MsgAcknowledgement MsgAcknowledgementResponse Acknowledgement defines a rpc handler method for MsgAcknowledgement.

Top

# ibc/core/client/v1/genesis.proto

# GenesisMetadata

GenesisMetadata defines the genesis type for metadata that clients may return with ExportMetadata

Field Type Label Description
key bytes store key of metadata without clientID-prefix
value bytes metadata value

# GenesisState

GenesisState defines the ibc client submodule's genesis state.

Field Type Label Description
clients IdentifiedClientState repeated client states with their corresponding identifiers
clients_consensus ClientConsensusStates repeated consensus states from each client
clients_metadata IdentifiedGenesisMetadata repeated metadata from each client
params Params
create_localhost bool create localhost on initialization
next_client_sequence uint64 the sequence for the next generated client identifier

# IdentifiedGenesisMetadata

IdentifiedGenesisMetadata has the client metadata with the corresponding client id.

Field Type Label Description
client_id string
client_metadata GenesisMetadata repeated

Top

# ibc/core/client/v1/query.proto

# QueryClientParamsRequest

QueryClientParamsRequest is the request type for the Query/ClientParams RPC method.

# QueryClientParamsResponse

QueryClientParamsResponse is the response type for the Query/ClientParams RPC method.

Field Type Label Description
params Params params defines the parameters of the module.

# QueryClientStateRequest

QueryClientStateRequest is the request type for the Query/ClientState RPC method

Field Type Label Description
client_id string client state unique identifier

# QueryClientStateResponse

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.

Field Type Label Description
client_state google.protobuf.Any client state associated with the request identifier
proof bytes merkle proof of existence
proof_height Height height at which the proof was retrieved

# QueryClientStatesRequest

QueryClientStatesRequest is the request type for the Query/ClientStates RPC method

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryClientStatesResponse

QueryClientStatesResponse is the response type for the Query/ClientStates RPC method.

Field Type Label Description
client_states IdentifiedClientState repeated list of stored ClientStates of the chain.
pagination cosmos.base.query.v1beta1.PageResponse pagination response

# QueryConsensusStateRequest

QueryConsensusStateRequest is the request type for the Query/ConsensusState RPC method. Besides the consensus state, it includes a proof and the height from which the proof was retrieved.

Field Type Label Description
client_id string client identifier
revision_number uint64 consensus state revision number
revision_height uint64 consensus state revision height
latest_height bool latest_height overrrides the height field and queries the latest stored ConsensusState

# QueryConsensusStateResponse

QueryConsensusStateResponse is the response type for the Query/ConsensusState RPC method

Field Type Label Description
consensus_state google.protobuf.Any consensus state associated with the client identifier at the given height
proof bytes merkle proof of existence
proof_height Height height at which the proof was retrieved

# QueryConsensusStatesRequest

QueryConsensusStatesRequest is the request type for the Query/ConsensusStates RPC method.

Field Type Label Description
client_id string client identifier
pagination cosmos.base.query.v1beta1.PageRequest pagination request

# QueryConsensusStatesResponse

QueryConsensusStatesResponse is the response type for the Query/ConsensusStates RPC method

Field Type Label Description
consensus_states ConsensusStateWithHeight repeated consensus states associated with the identifier
pagination cosmos.base.query.v1beta1.PageResponse pagination response

# Query

Query provides defines the gRPC querier service

Method Name Request Type Response Type Description HTTP Verb Endpoint
ClientState QueryClientStateRequest QueryClientStateResponse ClientState queries an IBC light client. GET /ibc/core/client/v1beta1/client_states/
ClientStates QueryClientStatesRequest QueryClientStatesResponse ClientStates queries all the IBC light clients of a chain. GET /ibc/core/client/v1beta1/client_states
ConsensusState QueryConsensusStateRequest QueryConsensusStateResponse ConsensusState queries a consensus state associated with a client state at a given height. GET /ibc/core/client/v1beta1/consensus_states/{client_id}/revision/{revision_number}/height/
ConsensusStates QueryConsensusStatesRequest QueryConsensusStatesResponse ConsensusStates queries all the consensus state associated with a given client. GET /ibc/core/client/v1beta1/consensus_states/
ClientParams QueryClientParamsRequest QueryClientParamsResponse ClientParams queries all parameters of the ibc client. GET /ibc/client/v1beta1/params

Top

# ibc/core/client/v1/tx.proto

# MsgCreateClient

MsgCreateClient defines a message to create an IBC client

Field Type Label Description
client_state google.protobuf.Any light client state
consensus_state google.protobuf.Any consensus state associated with the client that corresponds to a given height.
signer string signer address

# MsgCreateClientResponse

MsgCreateClientResponse defines the Msg/CreateClient response type.

# MsgSubmitMisbehaviour

MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for light client misbehaviour.

Field Type Label Description
client_id string client unique identifier
misbehaviour google.protobuf.Any misbehaviour used for freezing the light client
signer string signer address

# MsgSubmitMisbehaviourResponse

MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response type.

# MsgUpdateClient

MsgUpdateClient defines an sdk.Msg to update a IBC client state using the given header.

Field Type Label Description
client_id string client unique identifier
header google.protobuf.Any header to update the light client
signer string signer address

# MsgUpdateClientResponse

MsgUpdateClientResponse defines the Msg/UpdateClient response type.

# MsgUpgradeClient

MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client state

Field Type Label Description
client_id string client unique identifier
client_state google.protobuf.Any upgraded client state
consensus_state google.protobuf.Any upgraded consensus state, only contains enough information to serve as a basis of trust in update logic
proof_upgrade_client bytes proof that old chain committed to new client
proof_upgrade_consensus_state bytes proof that old chain committed to new consensus state
signer string signer address

# MsgUpgradeClientResponse

MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.

# Msg

Msg defines the ibc/client Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
CreateClient MsgCreateClient MsgCreateClientResponse CreateClient defines a rpc handler method for MsgCreateClient.
UpdateClient MsgUpdateClient MsgUpdateClientResponse UpdateClient defines a rpc handler method for MsgUpdateClient.
UpgradeClient MsgUpgradeClient MsgUpgradeClientResponse UpgradeClient defines a rpc handler method for MsgUpgradeClient.
SubmitMisbehaviour MsgSubmitMisbehaviour MsgSubmitMisbehaviourResponse SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.

Top

# ibc/core/commitment/v1/commitment.proto

# MerklePath

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

Field Type Label Description
key_path string repeated

# MerklePrefix

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...))

Field Type Label Description
key_prefix bytes

# MerkleProof

MerkleProof is a wrapper type over a chain of CommitmentProofs. It demonstrates membership or non-membership for an element or set of elements, verifiable in conjunction with a known commitment root. Proofs should be succinct. MerkleProofs are ordered from leaf-to-root

Field Type Label Description
proofs ics23.CommitmentProof repeated

# MerkleRoot

MerkleRoot defines a merkle root hash. In the Cosmos SDK, the AppHash of a block header becomes the root.

Field Type Label Description
hash bytes

Top

# ibc/core/connection/v1/connection.proto

# ClientPaths

ClientPaths define all the connection paths for a client state.

Field Type Label Description
paths string repeated list of connection paths

# ConnectionEnd

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.

Field Type Label Description
client_id string client associated with this connection.
versions Version repeated IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection.
state State current state of the connection end.
counterparty Counterparty counterparty chain associated with this connection.
delay_period uint64 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.

# ConnectionPaths

ConnectionPaths define all the connection paths for a given client state.

Field Type Label Description
client_id string client state unique identifier
paths string repeated list of connection paths

# Counterparty

Counterparty defines the counterparty chain associated with a connection end.

Field Type Label Description
client_id string identifies the client on the counterparty chain associated with a given connection.
connection_id string identifies the connection end on the counterparty chain associated with a given connection.
prefix ibc.core.commitment.v1.MerklePrefix commitment merkle prefix of the counterparty chain.

# IdentifiedConnection

IdentifiedConnection defines a connection with additional connection identifier field.

Field Type Label Description
id string connection identifier.
client_id string client associated with this connection.
versions Version repeated IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection
state State current state of the connection end.
counterparty Counterparty counterparty chain associated with this connection.
delay_period uint64 delay period associated with this connection.

# Version

Version defines the versioning scheme used to negotiate the IBC verison in the connection handshake.

Field Type Label Description
identifier string unique version identifier
features string repeated list of features compatible with the specified identifier

# State

State defines if a connection is in one of the following states: INIT, TRYOPEN, OPEN or UNINITIALIZED.

Name Number Description
STATE_UNINITIALIZED_UNSPECIFIED 0 Default State
STATE_INIT 1 A connection end has just started the opening handshake.
STATE_TRYOPEN 2 A connection end has acknowledged the handshake step on the counterparty chain.
STATE_OPEN 3 A connection end has completed the handshake.

Top

# ibc/core/connection/v1/genesis.proto

# GenesisState

GenesisState defines the ibc connection submodule's genesis state.

Field Type Label Description
connections IdentifiedConnection repeated
client_connection_paths ConnectionPaths repeated
next_connection_sequence uint64 the sequence for the next generated connection identifier

Top

# ibc/core/connection/v1/query.proto

# QueryClientConnectionsRequest

QueryClientConnectionsRequest is the request type for the Query/ClientConnections RPC method

Field Type Label Description
client_id string client identifier associated with a connection

# QueryClientConnectionsResponse

QueryClientConnectionsResponse is the response type for the Query/ClientConnections RPC method

Field Type Label Description
connection_paths string repeated slice of all the connection paths associated with a client.
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was generated

# QueryConnectionClientStateRequest

QueryConnectionClientStateRequest is the request type for the Query/ConnectionClientState RPC method

Field Type Label Description
connection_id string connection identifier

# QueryConnectionClientStateResponse

QueryConnectionClientStateResponse is the response type for the Query/ConnectionClientState RPC method

Field Type Label Description
identified_client_state ibc.core.client.v1.IdentifiedClientState client state associated with the channel
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryConnectionConsensusStateRequest

QueryConnectionConsensusStateRequest is the request type for the Query/ConnectionConsensusState RPC method

Field Type Label Description
connection_id string connection identifier
revision_number uint64
revision_height uint64

# QueryConnectionConsensusStateResponse

QueryConnectionConsensusStateResponse is the response type for the Query/ConnectionConsensusState RPC method

Field Type Label Description
consensus_state google.protobuf.Any consensus state associated with the channel
client_id string client ID associated with the consensus state
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryConnectionRequest

QueryConnectionRequest is the request type for the Query/Connection RPC method

Field Type Label Description
connection_id string connection unique identifier

# QueryConnectionResponse

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.

Field Type Label Description
connection ConnectionEnd connection associated with the request identifier
proof bytes merkle proof of existence
proof_height ibc.core.client.v1.Height height at which the proof was retrieved

# QueryConnectionsRequest

QueryConnectionsRequest is the request type for the Query/Connections RPC method

Field Type Label Description
pagination cosmos.base.query.v1beta1.PageRequest

# QueryConnectionsResponse

QueryConnectionsResponse is the response type for the Query/Connections RPC method.

Field Type Label Description
connections IdentifiedConnection repeated list of stored connections of the chain.
pagination cosmos.base.query.v1beta1.PageResponse pagination response
height ibc.core.client.v1.Height query block height

# Query

Query provides defines the gRPC querier service

Method Name Request Type Response Type Description HTTP Verb Endpoint
Connection QueryConnectionRequest QueryConnectionResponse Connection queries an IBC connection end. GET /ibc/core/connection/v1beta1/connections/
Connections QueryConnectionsRequest QueryConnectionsResponse Connections queries all the IBC connections of a chain. GET /ibc/core/connection/v1beta1/connections
ClientConnections QueryClientConnectionsRequest QueryClientConnectionsResponse ClientConnections queries the connection paths associated with a client state. GET /ibc/core/connection/v1beta1/client_connections/
ConnectionClientState QueryConnectionClientStateRequest QueryConnectionClientStateResponse ConnectionClientState queries the client state associated with the connection. GET /ibc/core/connection/v1beta1/connections/{connection_id}/client_state
ConnectionConsensusState QueryConnectionConsensusStateRequest QueryConnectionConsensusStateResponse ConnectionConsensusState queries the consensus state associated with the connection. GET /ibc/core/connection/v1beta1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/

Top

# ibc/core/connection/v1/tx.proto

# MsgConnectionOpenAck

MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to acknowledge the change of connection state to TRYOPEN on Chain B.

Field Type Label Description
connection_id string
counterparty_connection_id string
version Version
client_state google.protobuf.Any
proof_height ibc.core.client.v1.Height
proof_try bytes proof of the initialization the connection on Chain B: UNITIALIZED -> TRYOPEN
proof_client bytes proof of client state included in message
proof_consensus bytes proof of client consensus state
consensus_height ibc.core.client.v1.Height
signer string

# MsgConnectionOpenAckResponse

MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.

# MsgConnectionOpenConfirm

MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of connection state to OPEN on Chain A.

Field Type Label Description
connection_id string
proof_ack bytes proof for the change of the connection state on Chain A: INIT -> OPEN
proof_height ibc.core.client.v1.Height
signer string

# MsgConnectionOpenConfirmResponse

MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm response type.

# MsgConnectionOpenInit

MsgConnectionOpenInit defines the msg sent by an account on Chain A to initialize a connection with Chain B.

Field Type Label Description
client_id string
counterparty Counterparty
version Version
delay_period uint64
signer string

# MsgConnectionOpenInitResponse

MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response type.

# MsgConnectionOpenTry

MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a connection on Chain B.

Field Type Label Description
client_id string
previous_connection_id string in the case of crossing hello's, when both chains call OpenInit, we need the connection identifier of the previous connection in state INIT
client_state google.protobuf.Any
counterparty Counterparty
delay_period uint64
counterparty_versions Version repeated
proof_height ibc.core.client.v1.Height
proof_init bytes proof of the initialization the connection on Chain A: UNITIALIZED -> INIT
proof_client bytes proof of client state included in message
proof_consensus bytes proof of client consensus state
consensus_height ibc.core.client.v1.Height
signer string

# MsgConnectionOpenTryResponse

MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.

# Msg

Msg defines the ibc/connection Msg service.

Method Name Request Type Response Type Description HTTP Verb Endpoint
ConnectionOpenInit MsgConnectionOpenInit MsgConnectionOpenInitResponse ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit.
ConnectionOpenTry MsgConnectionOpenTry MsgConnectionOpenTryResponse ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.
ConnectionOpenAck MsgConnectionOpenAck MsgConnectionOpenAckResponse ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.
ConnectionOpenConfirm MsgConnectionOpenConfirm MsgConnectionOpenConfirmResponse ConnectionOpenConfirm defines a rpc handler method for MsgConnectionOpenConfirm.

Top

# ibc/core/types/v1/genesis.proto

# GenesisState

GenesisState defines the ibc module's genesis state.

Field Type Label Description
client_genesis ibc.core.client.v1.GenesisState ICS002 - Clients genesis state
connection_genesis ibc.core.connection.v1.GenesisState ICS003 - Connections genesis state
channel_genesis ibc.core.channel.v1.GenesisState ICS004 - Channel genesis state
Field Type Label Description
events string repeated events is the list of transaction event type.
pagination cosmos.base.query.v1beta1.PageRequest pagination defines an pagination for the request.
order_by OrderBy

Top

# ibc/lightclients/localhost/v1/localhost.proto

# ClientState

ClientState defines a loopback (localhost) client. It requires (read-only) access to keys outside the client prefix.

Field Type Label Description
chain_id string self chain ID
height ibc.core.client.v1.Height self latest block height

Top

# ibc/lightclients/solomachine/v1/solomachine.proto

# ChannelStateData

ChannelStateData returns the SignBytes data for channel state verification.

Field Type Label Description
path bytes
channel ibc.core.channel.v1.Channel

# ClientState

ClientState defines a solo machine client that tracks the current consensus state and if the client is frozen.

Field Type Label Description
sequence uint64 latest sequence of the client state
frozen_sequence uint64 frozen sequence of the solo machine
consensus_state ConsensusState
allow_update_after_proposal bool when set to true, will allow governance to update a solo machine client. The client will be unfrozen if it is frozen.

# OrderBy

OrderBy defines the sorting order

Name Number Description
ORDER_BY_UNSPECIFIED 0 ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case.
ORDER_BY_ASC 1 ORDER_BY_ASC defines ascending order
ORDER_BY_DESC 2 ORDER_BY_DESC defines descending order

# ClientStateData

ClientStateData returns the SignBytes data for client state verification.

Field Type Label Description
path bytes
client_state google.protobuf.Any

# ConnectionStateData

ConnectionStateData returns the SignBytes data for connection state verification.

Field Type Label Description
path bytes
connection ibc.core.connection.v1.ConnectionEnd

# ConsensusState

ConsensusState defines a solo machine consensus state. The sequence of a consensus state is contained in the "height" key used in storing the consensus state.

Field Type Label Description
public_key google.protobuf.Any public key of the solo machine
diversifier string diversifier allows the same public key to be re-used across different solo machine clients (potentially on different chains) without being considered misbehaviour.
timestamp uint64

# ConsensusStateData

ConsensusStateData returns the SignBytes data for consensus state verification.

Field Type Label Description
path bytes
consensus_state google.protobuf.Any

Header defines a solo machine consensus header

Field Type Label Description
sequence uint64 sequence to update solo machine public key at
timestamp uint64
signature bytes
new_public_key google.protobuf.Any
new_diversifier string

# HeaderData

HeaderData returns the SignBytes data for update verification.

Field Type Label Description
new_pub_key google.protobuf.Any header public key
new_diversifier string header diversifier

# Misbehaviour

Misbehaviour defines misbehaviour for a solo machine which consists of a sequence and two signatures over different messages at that sequence.

Field Type Label Description
client_id string
sequence uint64
signature_one SignatureAndData
signature_two SignatureAndData

# NextSequenceRecvData

NextSequenceRecvData returns the SignBytes data for verification of the next sequence to be received.

Field Type Label Description
path bytes
next_seq_recv uint64

# PacketAcknowledgementData

PacketAcknowledgementData returns the SignBytes data for acknowledgement verification.

Field Type Label Description
path bytes
acknowledgement bytes

# PacketCommitmentData

PacketCommitmentData returns the SignBytes data for packet commitment verification.

Field Type Label Description
path bytes
commitment bytes

# PacketReceiptAbsenceData

PacketReceiptAbsenceData returns the SignBytes data for packet receipt absence verification.

Field Type Label Description
path bytes

# SignBytes

SignBytes defines the signed bytes used for signature verification.

Field Type Label Description
sequence uint64
timestamp uint64
diversifier string
data_type DataType type of the data used
data bytes marshaled data

# SignatureAndData

SignatureAndData contains a signature and the data signed over to create that signature.

Field Type Label Description
signature bytes
data_type DataType
data bytes
timestamp uint64

# TimestampedSignatureData

TimestampedSignatureData contains the signature data and the timestamp of the signature.

Field Type Label Description
signature_data bytes
timestamp uint64

# DataType

DataType defines the type of solo machine proof being created. This is done to preserve uniqueness of different data sign byte encodings.

Name Number Description
DATA_TYPE_UNINITIALIZED_UNSPECIFIED 0 Default State
DATA_TYPE_CLIENT_STATE 1 Data type for client state verification
DATA_TYPE_CONSENSUS_STATE 2 Data type for consensus state verification
DATA_TYPE_CONNECTION_STATE 3 Data type for connection state verification
DATA_TYPE_CHANNEL_STATE 4 Data type for channel state verification
DATA_TYPE_PACKET_COMMITMENT 5 Data type for packet commitment verification
DATA_TYPE_PACKET_ACKNOWLEDGEMENT 6 Data type for packet acknowledgement verification
DATA_TYPE_PACKET_RECEIPT_ABSENCE 7 Data type for packet receipt absence verification
DATA_TYPE_NEXT_SEQUENCE_RECV 8 Data type for next sequence recv verification
DATA_TYPE_HEADER 9 Data type for header verification

Top

# ibc/lightclients/tendermint/v1/tendermint.proto

# ClientState

ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.

Field Type Label Description
chain_id string
trust_level Fraction
trusting_period google.protobuf.Duration duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade
unbonding_period google.protobuf.Duration duration of the staking unbonding period
max_clock_drift google.protobuf.Duration defines how much new (untrusted) header's Time can drift into the future.
frozen_height ibc.core.client.v1.Height Block height when the client was frozen due to a misbehaviour
latest_height ibc.core.client.v1.Height Latest height the client was updated to
proof_specs ics23.ProofSpec repeated Proof specifications used in verifying counterparty state
upgrade_path string repeated Path at which next upgraded client will be committed. Each element corresponds to the key for a single CommitmentProof in the chained proof. NOTE: ClientState must stored under {upgradePath}/{upgradeHeight}/clientState ConsensusState must be stored under {upgradepath}/{upgradeHeight}/consensusState For SDK chains using the default upgrade module, upgrade_path should be []string{"upgrade", "upgradedIBCState"}`
allow_update_after_expiry bool This flag, when set to true, will allow governance to recover a client which has expired
allow_update_after_misbehaviour bool This flag, when set to true, will allow governance to unfreeze a client whose chain has experienced a misbehaviour event

# ConsensusState

ConsensusState defines the consensus state from Tendermint.

Field Type Label Description
timestamp google.protobuf.Timestamp timestamp that corresponds to the block height in which the ConsensusState was stored.
root ibc.core.commitment.v1.MerkleRoot commitment root (i.e app hash)
next_validators_hash bytes

# Fraction

Fraction defines the protobuf message type for tmmath.Fraction that only supports positive values.

Field Type Label Description
numerator uint64
denominator uint64

# Header

Header defines the Tendermint client consensus Header. It encapsulates all the information necessary to update from a trusted Tendermint ConsensusState. The inclusion of TrustedHeight and TrustedValidators allows this update to process correctly, so long as the ConsensusState for the TrustedHeight exists, this removes race conditions among relayers The SignedHeader and ValidatorSet are the new untrusted update fields for the client. The TrustedHeight is the height of a stored ConsensusState on the client that will be used to verify the new untrusted header. The Trusted ConsensusState must be within the unbonding period of current time in order to correctly verify, and the TrustedValidators must hash to TrustedConsensusState.NextValidatorsHash since that is the last trusted validator set at the TrustedHeight.

Field Type Label Description
signed_header tendermint.types.SignedHeader
validator_set tendermint.types.ValidatorSet
trusted_height ibc.core.client.v1.Height
trusted_validators tendermint.types.ValidatorSet

# Misbehaviour

Misbehaviour is a wrapper over two conflicting Headers that implements Misbehaviour interface expected by ICS-02

Field Type Label Description
client_id string
header_1 Header
header_2 Header

# Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)