ibc/core

Table of Contents

ibc/core/channel/v1/query.proto

Top

QueryChannelClientStateRequest

QueryChannelClientStateRequest is the request type for the Query/ClientState

RPC method

FieldTypeLabelDescription
port_id string

port unique identifier

channel_id string

channel unique identifier

QueryChannelClientStateResponse

QueryChannelClientStateResponse is the Response type for the

Query/QueryChannelClientState RPC method

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination request

QueryChannelsResponse

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
port_id string

port unique identifier

channel_id string

channel unique identifier

QueryNextSequenceReceiveResponse

QuerySequenceResponse is the request type for the

Query/QueryNextSequenceReceiveResponse RPC method

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
port_id string

port unique identifier

channel_id string

channel unique identifier

pagination cosmos.base.query.v1beta1.PageRequest

pagination request

packet_commitment_sequences uint64 repeated

list of packet sequences

QueryPacketAcknowledgementsResponse

QueryPacketAcknowledgemetsResponse is the request type for the

Query/QueryPacketAcknowledgements RPC method

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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 NameRequest TypeResponse TypeDescription
Channel QueryChannelRequest QueryChannelResponse

Channel queries an IBC Channel.

Channels QueryChannelsRequest QueryChannelsResponse

Channels queries all the IBC channels of a chain.

ConnectionChannels QueryConnectionChannelsRequest QueryConnectionChannelsResponse

ConnectionChannels queries all the channels associated with a connection end.

ChannelClientState QueryChannelClientStateRequest QueryChannelClientStateResponse

ChannelClientState queries for the client state for the channel associated with the provided channel identifiers.

ChannelConsensusState QueryChannelConsensusStateRequest QueryChannelConsensusStateResponse

ChannelConsensusState queries for the consensus state for the channel associated with the provided channel identifiers.

PacketCommitment QueryPacketCommitmentRequest QueryPacketCommitmentResponse

PacketCommitment queries a stored packet commitment hash.

PacketCommitments QueryPacketCommitmentsRequest QueryPacketCommitmentsResponse

PacketCommitments returns all the packet commitments hashes associated with a channel.

PacketReceipt QueryPacketReceiptRequest QueryPacketReceiptResponse

PacketReceipt queries if a given packet sequence has been received on the queried chain

PacketAcknowledgement QueryPacketAcknowledgementRequest QueryPacketAcknowledgementResponse

PacketAcknowledgement queries a stored packet acknowledgement hash.

PacketAcknowledgements QueryPacketAcknowledgementsRequest QueryPacketAcknowledgementsResponse

PacketAcknowledgements returns all the packet acknowledgements associated with a channel.

UnreceivedPackets QueryUnreceivedPacketsRequest QueryUnreceivedPacketsResponse

UnreceivedPackets returns all the unreceived IBC packets associated with a channel and sequences.

UnreceivedAcks QueryUnreceivedAcksRequest QueryUnreceivedAcksResponse

UnreceivedAcks returns all the unreceived IBC acknowledgements associated with a channel and sequences.

NextSequenceReceive QueryNextSequenceReceiveRequest QueryNextSequenceReceiveResponse

NextSequenceReceive returns the next receive sequence for a given channel.

Methods with HTTP bindings

Method Name Method Pattern Body
Channel GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}
Channels GET /ibc/core/channel/v1/channels
ConnectionChannels GET /ibc/core/channel/v1/connections/{connection}/channels
ChannelClientState GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state
ChannelConsensusState GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}
PacketCommitment GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}
PacketCommitments GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments
PacketReceipt GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}
PacketAcknowledgement GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}
PacketAcknowledgements GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements
UnreceivedPackets GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets
UnreceivedAcks GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks
NextSequenceReceive GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence

ibc/core/channel/v1/genesis.proto

Top

GenesisState

GenesisState defines the ibc channel submodule's genesis state.

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

FieldTypeLabelDescription
port_id string

channel_id string

sequence uint64

ibc/core/channel/v1/channel.proto

Top

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/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope

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

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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

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

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

ibc/core/channel/v1/tx.proto

Top

MsgAcknowledgement

MsgAcknowledgement receives incoming IBC acknowledgement

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

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

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

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

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

FieldTypeLabelDescription
port_id string

channel Channel

signer string

MsgChannelOpenInitResponse

MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.

FieldTypeLabelDescription
channel_id string

MsgChannelOpenTry

MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel

on Chain B. The version field within the Channel field has been deprecated.

Its value will be ignored by core IBC.

FieldTypeLabelDescription
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

NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.

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

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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 NameRequest TypeResponse TypeDescription
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.

ibc/core/client/v1/client.proto

Top

ClientConsensusStates

ClientConsensusStates defines all the stored consensus states for a given

client.

FieldTypeLabelDescription
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 substitute

client's latest consensus state is copied over to the subject client. The

proposal handler may fail if the subject and the substitute do not match in

client and chain parameters (with exception to latest height, frozen height,

and chain-id).

FieldTypeLabelDescription
title string

the title of the update proposal

description string

the description of the proposal

subject_client_id string

the client identifier for the client to be updated if the proposal passes

substitute_client_id string

the substitute client identifier for the client standing in for the subject client

ConsensusStateWithHeight

ConsensusStateWithHeight defines a consensus state with an additional height

field.

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
client_id string

client identifier

client_state google.protobuf.Any

client state

Params

Params defines the set of IBC light client parameters.

FieldTypeLabelDescription
allowed_clients string repeated

allowed_clients defines the list of allowed client state types.

UpgradeProposal

UpgradeProposal is a gov Content type for initiating an IBC breaking

upgrade.

FieldTypeLabelDescription
title string

description string

plan cosmos.upgrade.v1beta1.Plan

upgraded_client_state google.protobuf.Any

An UpgradedClientState must be provided to perform an IBC breaking upgrade. 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

ibc/core/client/v1/query.proto

Top

QueryClientParamsRequest

QueryClientParamsRequest is the request type for the Query/ClientParams RPC

method.

QueryClientParamsResponse

QueryClientParamsResponse is the response type for the Query/ClientParams RPC

method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

QueryClientStateRequest

QueryClientStateRequest is the request type for the Query/ClientState RPC

method

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination request

QueryClientStatesResponse

QueryClientStatesResponse is the response type for the Query/ClientStates RPC

method.

FieldTypeLabelDescription
client_states IdentifiedClientState repeated

list of stored ClientStates of the chain.

pagination cosmos.base.query.v1beta1.PageResponse

pagination response

QueryClientStatusRequest

QueryClientStatusRequest is the request type for the Query/ClientStatus RPC

method

FieldTypeLabelDescription
client_id string

client unique identifier

QueryClientStatusResponse

QueryClientStatusResponse is the response type for the Query/ClientStatus RPC

method. It returns the current status of the IBC client.

FieldTypeLabelDescription
status string

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.

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
consensus_states ConsensusStateWithHeight repeated

consensus states associated with the identifier

pagination cosmos.base.query.v1beta1.PageResponse

pagination response

QueryUpgradedClientStateRequest

QueryUpgradedClientStateRequest is the request type for the

Query/UpgradedClientState RPC method

QueryUpgradedClientStateResponse

QueryUpgradedClientStateResponse is the response type for the

Query/UpgradedClientState RPC method.

FieldTypeLabelDescription
upgraded_client_state google.protobuf.Any

client state associated with the request identifier

QueryUpgradedConsensusStateRequest

QueryUpgradedConsensusStateRequest is the request type for the

Query/UpgradedConsensusState RPC method

QueryUpgradedConsensusStateResponse

QueryUpgradedConsensusStateResponse is the response type for the

Query/UpgradedConsensusState RPC method.

FieldTypeLabelDescription
upgraded_consensus_state google.protobuf.Any

Consensus state associated with the request identifier

Query

Query provides defines the gRPC querier service

Method NameRequest TypeResponse TypeDescription
ClientState QueryClientStateRequest QueryClientStateResponse

ClientState queries an IBC light client.

ClientStates QueryClientStatesRequest QueryClientStatesResponse

ClientStates queries all the IBC light clients of a chain.

ConsensusState QueryConsensusStateRequest QueryConsensusStateResponse

ConsensusState queries a consensus state associated with a client state at a given height.

ConsensusStates QueryConsensusStatesRequest QueryConsensusStatesResponse

ConsensusStates queries all the consensus state associated with a given client.

ClientStatus QueryClientStatusRequest QueryClientStatusResponse

Status queries the status of an IBC client.

ClientParams QueryClientParamsRequest QueryClientParamsResponse

ClientParams queries all parameters of the ibc client.

UpgradedClientState QueryUpgradedClientStateRequest QueryUpgradedClientStateResponse

UpgradedClientState queries an Upgraded IBC light client.

UpgradedConsensusState QueryUpgradedConsensusStateRequest QueryUpgradedConsensusStateResponse

UpgradedConsensusState queries an Upgraded IBC consensus state.

Methods with HTTP bindings

Method Name Method Pattern Body
ClientState GET /ibc/core/client/v1/client_states/{client_id}
ClientStates GET /ibc/core/client/v1/client_states
ConsensusState GET /ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}
ConsensusStates GET /ibc/core/client/v1/consensus_states/{client_id}
ClientStatus GET /ibc/core/client/v1/client_status/{client_id}
ClientParams GET /ibc/client/v1/params
UpgradedClientState GET /ibc/core/client/v1/upgraded_client_states
UpgradedConsensusState GET /ibc/core/client/v1/upgraded_consensus_states

ibc/core/client/v1/genesis.proto

Top

GenesisMetadata

GenesisMetadata defines the genesis type for metadata that clients may return

with ExportMetadata

FieldTypeLabelDescription
key bytes

store key of metadata without clientID-prefix

value bytes

metadata value

GenesisState

GenesisState defines the ibc client submodule's genesis state.

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

FieldTypeLabelDescription
client_id string

client_metadata GenesisMetadata repeated

ibc/core/client/v1/tx.proto

Top

MsgCreateClient

MsgCreateClient defines a message to create an IBC client

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

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
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 NameRequest TypeResponse TypeDescription
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.

ibc/core/commitment/v1/commitment.proto

Top

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

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
proofs ics23.CommitmentProof repeated

MerkleRoot

MerkleRoot defines a merkle root hash.

In the Cosmos SDK, the AppHash of a block header becomes the root.

FieldTypeLabelDescription
hash bytes

ibc/core/connection/v1/connection.proto

Top

ClientPaths

ClientPaths define all the connection paths for a client state.

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

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

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

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

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

Params

Params defines the set of Connection parameters.

FieldTypeLabelDescription
max_expected_time_per_block uint64

maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the largest amount of time that the chain might reasonably take to produce the next block under normal operating conditions. A safe choice is 3-5x the expected time per block.

Version

Version defines the versioning scheme used to negotiate the IBC verison in

the connection handshake.

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

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

ibc/core/connection/v1/query.proto

Top

QueryClientConnectionsRequest

QueryClientConnectionsRequest is the request type for the

Query/ClientConnections RPC method

FieldTypeLabelDescription
client_id string

client identifier associated with a connection

QueryClientConnectionsResponse

QueryClientConnectionsResponse is the response type for the

Query/ClientConnections RPC method

FieldTypeLabelDescription
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

FieldTypeLabelDescription
connection_id string

connection identifier

QueryConnectionClientStateResponse

QueryConnectionClientStateResponse is the response type for the

Query/ConnectionClientState RPC method

FieldTypeLabelDescription
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

FieldTypeLabelDescription
connection_id string

connection identifier

revision_number uint64

revision_height uint64

QueryConnectionConsensusStateResponse

QueryConnectionConsensusStateResponse is the response type for the

Query/ConnectionConsensusState RPC method

FieldTypeLabelDescription
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

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

FieldTypeLabelDescription
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

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

QueryConnectionsResponse

QueryConnectionsResponse is the response type for the Query/Connections RPC

method.

FieldTypeLabelDescription
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 NameRequest TypeResponse TypeDescription
Connection QueryConnectionRequest QueryConnectionResponse

Connection queries an IBC connection end.

Connections QueryConnectionsRequest QueryConnectionsResponse

Connections queries all the IBC connections of a chain.

ClientConnections QueryClientConnectionsRequest QueryClientConnectionsResponse

ClientConnections queries the connection paths associated with a client state.

ConnectionClientState QueryConnectionClientStateRequest QueryConnectionClientStateResponse

ConnectionClientState queries the client state associated with the connection.

ConnectionConsensusState QueryConnectionConsensusStateRequest QueryConnectionConsensusStateResponse

ConnectionConsensusState queries the consensus state associated with the connection.

Methods with HTTP bindings

Method Name Method Pattern Body
Connection GET /ibc/core/connection/v1/connections/{connection_id}
Connections GET /ibc/core/connection/v1/connections
ClientConnections GET /ibc/core/connection/v1/client_connections/{client_id}
ConnectionClientState GET /ibc/core/connection/v1/connections/{connection_id}/client_state
ConnectionConsensusState GET /ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}

ibc/core/connection/v1/genesis.proto

Top

GenesisState

GenesisState defines the ibc connection submodule's genesis state.

FieldTypeLabelDescription
connections IdentifiedConnection repeated

client_connection_paths ConnectionPaths repeated

next_connection_sequence uint64

the sequence for the next generated connection identifier

params Params

ibc/core/connection/v1/tx.proto

Top

MsgConnectionOpenAck

MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to

acknowledge the change of connection state to TRYOPEN on Chain B.

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

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

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

FieldTypeLabelDescription
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 NameRequest TypeResponse TypeDescription
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.

ibc/core/types/v1/genesis.proto

Top

GenesisState

GenesisState defines the ibc module's genesis state.

FieldTypeLabelDescription
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

Scalar Value Types

.proto Type Notes Python Type
double 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. int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long
uint32 Uses variable-length encoding. int/long
uint64 Uses variable-length encoding. int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long
sfixed32 Always four bytes. int
sfixed64 Always eight bytes. int/long
bool boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode
bytes May contain any arbitrary sequence of bytes. str