Protocol Documentation

Table of Contents

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.

FieldTypeLabelDescription

extra_bits_stored

elems

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.

FieldTypeLabelDescription

signatures

repeated

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.

FieldTypeLabelDescription

threshold

public_keys

repeated

Top

cosmos/crypto/secp256k1/keys.proto

PrivKey

PrivKey defines a secp256k1 private key.

FieldTypeLabelDescription

key

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.

FieldTypeLabelDescription

key

Top

cosmos/crypto/ed25519/keys.proto

PrivKey

PrivKey defines a ed25519 private key.

FieldTypeLabelDescription

key

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.

FieldTypeLabelDescription

key

Top

cosmos/upgrade/v1beta1/upgrade.proto

CancelSoftwareUpgradeProposal

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

FieldTypeLabelDescription

title

description

Plan

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

FieldTypeLabelDescription

name

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

The time after which the upgrade must be performed. Leave set to its zero value to use a pre-defined Height instead.

height

The height at which the upgrade must be performed. Only used if Time is not set.

info

Any application specific upgrade info to be included on-chain such as a git commit that validators could automatically upgrade to

upgraded_client_state

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.

FieldTypeLabelDescription

title

description

plan

Top

cosmos/upgrade/v1beta1/query.proto

QueryAppliedPlanRequest

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

FieldTypeLabelDescription

name

name is the name of the applied plan to query for.

QueryAppliedPlanResponse

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

FieldTypeLabelDescription

height

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.

FieldTypeLabelDescription

plan

plan is the current upgrade plan.

Query

Query defines the gRPC upgrade querier service.

Method NameRequest TypeResponse TypeDescription

CurrentPlan

CurrentPlan queries the current upgrade plan.

AppliedPlan

AppliedPlan queries a previously applied upgrade plan by its name.

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.

FieldTypeLabelDescription

annual_provisions

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.

FieldTypeLabelDescription

inflation

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.

FieldTypeLabelDescription

params

params defines the parameters of the module.

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription

Params

Params returns the total set of minting parameters.

Inflation

Inflation returns the current minting inflation value.

AnnualProvisions

AnnualProvisions current minting annual provisions value.

Top

cosmos/mint/v1beta1/genesis.proto

GenesisState

GenesisState defines the mint module's genesis state.

FieldTypeLabelDescription

minter

minter is a space for holding current inflation information.

params

params defines all the paramaters of the module.

Top

cosmos/mint/v1beta1/mint.proto

Minter

Minter represents the minting state.

FieldTypeLabelDescription

inflation

current annual inflation rate

annual_provisions

current annual expected provisions

Params

Params holds parameters for the mint module.

FieldTypeLabelDescription

mint_denom

type of coin to mint

inflation_rate_change

maximum annual change in inflation rate

inflation_max

maximum inflation rate

inflation_min

minimum inflation rate

goal_bonded

goal of percent bonded atoms

blocks_per_year

expected blocks per year

Top

cosmos/evidence/v1beta1/tx.proto

MsgSubmitEvidence

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

FieldTypeLabelDescription

submitter

evidence

MsgSubmitEvidenceResponse

MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.

FieldTypeLabelDescription

hash

hash defines the hash of the evidence.

Msg

Msg defines the evidence Msg service.

Method NameRequest TypeResponse TypeDescription

SubmitEvidence

SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or counterfactual signing.

Top

cosmos/evidence/v1beta1/evidence.proto

Equivocation

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

FieldTypeLabelDescription

height

time

power

consensus_address

Top

cosmos/evidence/v1beta1/query.proto

QueryAllEvidenceRequest

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

FieldTypeLabelDescription

pagination

pagination defines an optional pagination for the request.

QueryAllEvidenceResponse

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

FieldTypeLabelDescription

evidence

repeated

evidence returns all evidences.

pagination

pagination defines the pagination in the response.

QueryEvidenceRequest

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

FieldTypeLabelDescription

evidence_hash

evidence_hash defines the hash of the requested evidence.

QueryEvidenceResponse

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

FieldTypeLabelDescription

evidence

evidence returns the requested evidence.

Query

Query defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription

Evidence

Evidence queries evidence based on evidence hash.

AllEvidence

AllEvidence queries all evidence.

Top

cosmos/evidence/v1beta1/genesis.proto

GenesisState

GenesisState defines the evidence module's genesis state.

FieldTypeLabelDescription

evidence

repeated

evidence defines all the evidence at genesis.

Top

cosmos/auth/v1beta1/query.proto

QueryAccountRequest

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

FieldTypeLabelDescription

address

address defines the address to query for.

QueryAccountResponse

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

FieldTypeLabelDescription

account

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.

FieldTypeLabelDescription

params

params defines the parameters of the module.

Query

Query defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription

Account

Account returns account details based on address.

Params

Params queries all parameters.

Top

cosmos/auth/v1beta1/genesis.proto

GenesisState

GenesisState defines the auth module's genesis state.

FieldTypeLabelDescription

params

params defines all the paramaters of the module.

accounts

repeated

accounts are the accounts present at genesis.

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

FieldTypeLabelDescription

address

pub_key

account_number

sequence

ModuleAccount

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

FieldTypeLabelDescription

base_account

name

permissions

repeated

Params

Params defines the parameters for the auth module.

FieldTypeLabelDescription

max_memo_characters

tx_sig_limit

tx_size_cost_per_byte

sig_verify_cost_ed25519

sig_verify_cost_secp256k1

Top

cosmos/bank/v1beta1/tx.proto

MsgMultiSend

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

FieldTypeLabelDescription

inputs

repeated

outputs

repeated

MsgMultiSendResponse

MsgMultiSendResponse defines the Msg/MultiSend response type.

MsgSend

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

FieldTypeLabelDescription

from_address

to_address

amount

repeated

MsgSendResponse

MsgSendResponse defines the Msg/Send response type.

Msg

Msg defines the bank Msg service.

Method NameRequest TypeResponse TypeDescription

Send

Send defines a method for sending coins from one account to another account.

MultiSend

MultiSend defines a method for sending coins from some accounts to other accounts.

Top

cosmos/bank/v1beta1/bank.proto

DenomUnit

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

FieldTypeLabelDescription

denom

denom represents the string name of the given denom unit (e.g uatom).

exponent

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

repeated

aliases is a list of string aliases for the given denom

Input

Input models transaction input.

FieldTypeLabelDescription

address

coins

repeated

Metadata

Metadata represents a struct that describes a basic token.

FieldTypeLabelDescription

description

denom_units

repeated

denom_units represents the list of DenomUnit's for a given coin

base

base represents the base denom (should be the DenomUnit with exponent = 0).

display

display indicates the suggested denom that should be displayed in clients.

Output

Output models transaction outputs.

FieldTypeLabelDescription

address

coins

repeated

Params

Params defines the parameters for the bank module.

FieldTypeLabelDescription

send_enabled

repeated

default_send_enabled

SendEnabled

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

FieldTypeLabelDescription

denom

enabled

Supply

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

FieldTypeLabelDescription

total

repeated

Top

cosmos/bank/v1beta1/query.proto

QueryAllBalancesRequest

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

FieldTypeLabelDescription

address

address is the address to query balances for.

pagination

pagination defines an optional pagination for the request.

QueryAllBalancesResponse

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

FieldTypeLabelDescription

balances

repeated

balances is the balances of all the coins.

pagination

pagination defines the pagination in the response.

QueryBalanceRequest

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

FieldTypeLabelDescription

address

address is the address to query balances for.

denom

denom is the coin denom to query balances for.

QueryBalanceResponse

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

FieldTypeLabelDescription

balance

balance is the balance of the coin.

QueryParamsRequest

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

QueryParamsResponse

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

FieldTypeLabelDescription

params

QuerySupplyOfRequest

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

FieldTypeLabelDescription

denom

denom is the coin denom to query balances for.

QuerySupplyOfResponse

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

FieldTypeLabelDescription

amount

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

FieldTypeLabelDescription

supply

repeated

supply is the supply of the coins

Query

Query defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription

Balance

Balance queries the balance of a single coin for a single account.

AllBalances

AllBalances queries the balance of all coins for a single account.

TotalSupply

TotalSupply queries the total supply of all coins.

SupplyOf

SupplyOf queries the supply of a single coin.

Params

Params queries the parameters of x/bank module.

Top

cosmos/bank/v1beta1/genesis.proto

Balance

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

FieldTypeLabelDescription

address

address is the address of the balance holder.

coins

repeated

coins defines the different coins this balance holds.

GenesisState

GenesisState defines the bank module's genesis state.

FieldTypeLabelDescription

params

params defines all the paramaters of the module.

balances

repeated

balances is an array containing the balances of all the accounts.

supply

repeated

supply represents the total supply.

denom_metadata

repeated

denom_metadata defines the metadata of the differents coins.

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.

FieldTypeLabelDescription

index

CapabilityOwners

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

FieldTypeLabelDescription

owners

repeated

Owner

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

FieldTypeLabelDescription

module

name

Top

cosmos/capability/v1beta1/genesis.proto

GenesisOwners

GenesisOwners defines the capability owners with their corresponding index.

FieldTypeLabelDescription

index

index is the index of the capability owner.

index_owners

index_owners are the owners at the given index.

GenesisState

GenesisState defines the capability module's genesis state.

FieldTypeLabelDescription

index

index is the capability global index.

owners

repeated

owners represents a map from index to owners of the capability index index key is string to allow amino marshalling.

Top

cosmos/distribution/v1beta1/tx.proto

MsgFundCommunityPool

MsgFundCommunityPool allows an account to directly fund the community pool.

FieldTypeLabelDescription

amount

repeated

depositor

MsgFundCommunityPoolResponse

MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.

MsgSetWithdrawAddress

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

FieldTypeLabelDescription

delegator_address

withdraw_address

MsgSetWithdrawAddressResponse

MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type.

MsgWithdrawDelegatorReward

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

FieldTypeLabelDescription

delegator_address

validator_address

MsgWithdrawDelegatorRewardResponse

MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type.

MsgWithdrawValidatorCommission

MsgWithdrawValidatorCommission withdraws the full commission to the validator address.

FieldTypeLabelDescription

validator_address

MsgWithdrawValidatorCommissionResponse

MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type.

Msg

Msg defines the distribution Msg service.

Method NameRequest TypeResponse TypeDescription

SetWithdrawAddress

SetWithdrawAddress defines a method to change the withdraw address for a delegator (or validator self-delegation).

WithdrawDelegatorReward

WithdrawDelegatorReward defines a method to withdraw rewards of delegator from a single validator.

WithdrawValidatorCommission

WithdrawValidatorCommission defines a method to withdraw the full commission to the validator address.

FundCommunityPool

FundCommunityPool defines a method to allow an account to directly fund the community pool.

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.

FieldTypeLabelDescription

title

description

recipient

amount

repeated

CommunityPoolSpendProposalWithDeposit

CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal with a deposit

FieldTypeLabelDescription

title

description

recipient

amount

deposit

DelegationDelegatorReward

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

FieldTypeLabelDescription

validator_address

reward

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.

FieldTypeLabelDescription

previous_period

stake

height

FeePool

FeePool is the global fee pool for distribution.

FieldTypeLabelDescription

community_pool

repeated

Params

Params defines the set of params for the distribution module.

FieldTypeLabelDescription

community_tax

base_proposer_reward

bonus_proposer_reward

withdraw_addr_enabled

ValidatorAccumulatedCommission

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

FieldTypeLabelDescription

commission

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.

FieldTypeLabelDescription

rewards

repeated

period

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

FieldTypeLabelDescription

cumulative_reward_ratio

repeated

reference_count

ValidatorOutstandingRewards

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

FieldTypeLabelDescription

rewards

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.

FieldTypeLabelDescription

validator_period

fraction

ValidatorSlashEvents

ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.

FieldTypeLabelDescription

validator_slash_events

repeated

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.

FieldTypeLabelDescription

pool

repeated

pool defines community pool's coins.

QueryDelegationRewardsRequest

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

FieldTypeLabelDescription

delegator_address

delegator_address defines the delegator address to query for.

validator_address

validator_address defines the validator address to query for.

QueryDelegationRewardsResponse

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

FieldTypeLabelDescription

rewards

repeated

rewards defines the rewards accrued by a delegation.

QueryDelegationTotalRewardsRequest

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

FieldTypeLabelDescription

delegator_address

delegator_address defines the delegator address to query for.

QueryDelegationTotalRewardsResponse

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

FieldTypeLabelDescription

rewards

repeated

rewards defines all the rewards accrued by a delegator.

total

repeated

total defines the sum of all the rewards.

QueryDelegatorValidatorsRequest

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

FieldTypeLabelDescription

delegator_address

delegator_address defines the delegator address to query for.

QueryDelegatorValidatorsResponse

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

FieldTypeLabelDescription

validators

repeated

validators defines the validators a delegator is delegating for.

QueryDelegatorWithdrawAddressRequest

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

FieldTypeLabelDescription

delegator_address

delegator_address defines the delegator address to query for.

QueryDelegatorWithdrawAddressResponse

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

FieldTypeLabelDescription

withdraw_address

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.

FieldTypeLabelDescription

params

params defines the parameters of the module.

QueryValidatorCommissionRequest

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

FieldTypeLabelDescription

validator_address

validator_address defines the validator address to query for.

QueryValidatorCommissionResponse

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

FieldTypeLabelDescription