ibc/core

Table of Contents

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

upgrade_sequence uint64

upgrade sequence indicates the latest upgrade attempt performed by this channel the value of 0 indicates the channel has never been upgraded

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

upgrade_sequence uint64

upgrade sequence indicates the latest upgrade attempt performed by this channel the value of 0 indicates the channel has never been upgraded

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

PacketId

PacketId is an identifer for a unique Packet

Source chains refer to packets by source port/channel

Destination chains refer to packets by destination port/channel

FieldTypeLabelDescription
port_id string

channel port identifier

channel_id string

channel unique identifier

sequence uint64

packet sequence

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.

Params

Params defines the set of IBC channel parameters.

FieldTypeLabelDescription
upgrade_timeout Timeout

the relative timeout after which channel upgrades will time out.

Timeout

Timeout defines an execution deadline structure for 04-channel handlers.

This includes packet lifecycle handlers as well as the upgrade handshake handlers.

A valid Timeout contains either one or both of a timestamp and block height (sequence).

FieldTypeLabelDescription
height ibc.core.client.v1.Height

block height after which the packet or upgrade times out

timestamp uint64

block timestamp (in nanoseconds) after which the packet or upgrade times out

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, FLUSHING, FLUSHCOMPLETE 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.

STATE_FLUSHING 5

A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.

STATE_FLUSHCOMPLETE 6

A channel has just completed flushing any in-flight packets.

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

params Params

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/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

QueryChannelParamsRequest

QueryChannelParamsRequest is the request type for the Query/ChannelParams RPC method.

QueryChannelParamsResponse

QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

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 response 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

QueryNextSequenceSendRequest

QueryNextSequenceSendRequest is the request type for the

Query/QueryNextSequenceSend RPC method

FieldTypeLabelDescription
port_id string

port unique identifier

channel_id string

channel unique identifier

QueryNextSequenceSendResponse

QueryNextSequenceSendResponse is the request type for the

Query/QueryNextSequenceSend RPC method

FieldTypeLabelDescription
next_sequence_send uint64

next sequence send 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

QueryUpgradeErrorRequest

QueryUpgradeErrorRequest is the request type for the Query/QueryUpgradeError RPC method

FieldTypeLabelDescription
port_id string

channel_id string

QueryUpgradeErrorResponse

QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method

FieldTypeLabelDescription
error_receipt ErrorReceipt

proof bytes

merkle proof of existence

proof_height ibc.core.client.v1.Height

height at which the proof was retrieved

QueryUpgradeRequest

QueryUpgradeRequest is the request type for the QueryUpgradeRequest RPC method

FieldTypeLabelDescription
port_id string

channel_id string

QueryUpgradeResponse

QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method

FieldTypeLabelDescription
upgrade Upgrade

proof bytes

merkle proof of existence

proof_height ibc.core.client.v1.Height

height at which the proof was retrieved

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.

NextSequenceSend QueryNextSequenceSendRequest QueryNextSequenceSendResponse

NextSequenceSend returns the next send sequence for a given channel.

UpgradeError QueryUpgradeErrorRequest QueryUpgradeErrorResponse

UpgradeError returns the error receipt if the upgrade handshake failed.

Upgrade QueryUpgradeRequest QueryUpgradeResponse

Upgrade returns the upgrade for a given port and channel id.

ChannelParams QueryChannelParamsRequest QueryChannelParamsResponse

ChannelParams queries all parameters of the ibc channel submodule.

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
NextSequenceSend GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send
UpgradeError GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error
Upgrade GET /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade
ChannelParams GET /ibc/core/channel/v1/params

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.

FieldTypeLabelDescription
result ResponseResultType

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

counterparty_upgrade_sequence uint64

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.

WARNING: a channel upgrade MUST NOT initialize an upgrade for this channel

in the same block as executing this message otherwise the counterparty will

be incapable of opening.

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

version 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

Deprecated. Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.

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

Fields with deprecated option

Name Option
previous_channel_id

true

MsgChannelOpenTryResponse

MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.

FieldTypeLabelDescription
version string

channel_id string

MsgChannelUpgradeAck

MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc

FieldTypeLabelDescription
port_id string

channel_id string

counterparty_upgrade Upgrade

proof_channel bytes

proof_upgrade bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeAckResponse

MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type

FieldTypeLabelDescription
result ResponseResultType

MsgChannelUpgradeCancel

MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc

FieldTypeLabelDescription
port_id string

channel_id string

error_receipt ErrorReceipt

proof_error_receipt bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeCancelResponse

MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type

MsgChannelUpgradeConfirm

MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc

FieldTypeLabelDescription
port_id string

channel_id string

counterparty_channel_state State

counterparty_upgrade Upgrade

proof_channel bytes

proof_upgrade bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeConfirmResponse

MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type

FieldTypeLabelDescription
result ResponseResultType

MsgChannelUpgradeInit

MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc

WARNING: Initializing a channel upgrade in the same block as opening the channel

may result in the counterparty being incapable of opening.

FieldTypeLabelDescription
port_id string

channel_id string

fields UpgradeFields

signer string

MsgChannelUpgradeInitResponse

MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type

FieldTypeLabelDescription
upgrade Upgrade

upgrade_sequence uint64

MsgChannelUpgradeOpen

MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc

FieldTypeLabelDescription
port_id string

channel_id string

counterparty_channel_state State

counterparty_upgrade_sequence uint64

proof_channel bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeOpenResponse

MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type

MsgChannelUpgradeTimeout

MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc

FieldTypeLabelDescription
port_id string

channel_id string

counterparty_channel Channel

proof_channel bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeTimeoutResponse

MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type

MsgChannelUpgradeTry

MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc

FieldTypeLabelDescription
port_id string

channel_id string

proposed_upgrade_connection_hops string repeated

counterparty_upgrade_fields UpgradeFields

counterparty_upgrade_sequence uint64

proof_channel bytes

proof_upgrade bytes

proof_height ibc.core.client.v1.Height

signer string

MsgChannelUpgradeTryResponse

MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type

FieldTypeLabelDescription
upgrade Upgrade

upgrade_sequence uint64

result ResponseResultType

MsgPruneAcknowledgements

MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.

FieldTypeLabelDescription
port_id string

channel_id string

limit uint64

signer string

MsgPruneAcknowledgementsResponse

MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.

FieldTypeLabelDescription
total_pruned_sequences uint64

Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).

total_remaining_sequences uint64

Number of sequences left after pruning.

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.

FieldTypeLabelDescription
result ResponseResultType

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

counterparty_upgrade_sequence uint64

MsgTimeoutOnCloseResponse

MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.

FieldTypeLabelDescription
result ResponseResultType

MsgTimeoutResponse

MsgTimeoutResponse defines the Msg/Timeout response type.

FieldTypeLabelDescription
result ResponseResultType

MsgUpdateParams

MsgUpdateParams is the MsgUpdateParams request type.

FieldTypeLabelDescription
authority string

authority is the address that controls the module (defaults to x/gov unless overwritten).

params Params

params defines the channel parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the MsgUpdateParams response type.

ResponseResultType

ResponseResultType defines the possible outcomes of the execution of a message

NameNumberDescription
RESPONSE_RESULT_TYPE_UNSPECIFIED 0

Default zero value enumeration

RESPONSE_RESULT_TYPE_NOOP 1

The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)

RESPONSE_RESULT_TYPE_SUCCESS 2

The message was executed successfully

RESPONSE_RESULT_TYPE_FAILURE 3

The message was executed unsuccessfully

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.

ChannelUpgradeInit MsgChannelUpgradeInit MsgChannelUpgradeInitResponse

ChannelUpgradeInit defines a rpc handler method for MsgChannelUpgradeInit.

ChannelUpgradeTry MsgChannelUpgradeTry MsgChannelUpgradeTryResponse

ChannelUpgradeTry defines a rpc handler method for MsgChannelUpgradeTry.

ChannelUpgradeAck MsgChannelUpgradeAck MsgChannelUpgradeAckResponse

ChannelUpgradeAck defines a rpc handler method for MsgChannelUpgradeAck.

ChannelUpgradeConfirm MsgChannelUpgradeConfirm MsgChannelUpgradeConfirmResponse

ChannelUpgradeConfirm defines a rpc handler method for MsgChannelUpgradeConfirm.

ChannelUpgradeOpen MsgChannelUpgradeOpen MsgChannelUpgradeOpenResponse

ChannelUpgradeOpen defines a rpc handler method for MsgChannelUpgradeOpen.

ChannelUpgradeTimeout MsgChannelUpgradeTimeout MsgChannelUpgradeTimeoutResponse

ChannelUpgradeTimeout defines a rpc handler method for MsgChannelUpgradeTimeout.

ChannelUpgradeCancel MsgChannelUpgradeCancel MsgChannelUpgradeCancelResponse

ChannelUpgradeCancel defines a rpc handler method for MsgChannelUpgradeCancel.

UpdateChannelParams MsgUpdateParams MsgUpdateParamsResponse

UpdateChannelParams defines a rpc handler method for MsgUpdateParams.

PruneAcknowledgements MsgPruneAcknowledgements MsgPruneAcknowledgementsResponse

PruneAcknowledgements defines a rpc handler method for MsgPruneAcknowledgements.

ibc/core/channel/v1/upgrade.proto

Top

ErrorReceipt

ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the

upgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the

next sequence.

FieldTypeLabelDescription
sequence uint64

the channel upgrade sequence

message string

the error message detailing the cause of failure

Upgrade

Upgrade is a verifiable type which contains the relevant information

for an attempted upgrade. It provides the proposed changes to the channel

end, the timeout for this upgrade attempt and the next packet sequence

which allows the counterparty to efficiently know the highest sequence it has received.

The next sequence send is used for pruning and upgrading from unordered to ordered channels.

FieldTypeLabelDescription
fields UpgradeFields

timeout Timeout

next_sequence_send uint64

UpgradeFields

UpgradeFields are the fields in a channel end which may be changed

during a channel upgrade.

FieldTypeLabelDescription
ordering Order

connection_hops string repeated

version string

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

Deprecated: Please use MsgRecoverClient in favour of this message type.

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 which can be created and interacted with. If a client type is removed from the allowed clients list, usage of this client will be disabled until it is added again to the list.

UpgradeProposal

UpgradeProposal is a gov Content type for initiating an IBC breaking

upgrade.

Deprecated: Please use MsgIBCSoftwareUpgrade in favour of this message type.

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/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

Deprecated. Deprecated: create_localhost has been deprecated. The localhost client is automatically created at genesis.

next_client_sequence uint64

the sequence for the next generated client identifier

Fields with deprecated option

Name Option
create_localhost

true

IdentifiedGenesisMetadata

IdentifiedGenesisMetadata has the client metadata with the corresponding

client id.

FieldTypeLabelDescription
client_id string

client_metadata GenesisMetadata repeated

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

QueryConsensusStateHeightsRequest

QueryConsensusStateHeightsRequest is the request type for Query/ConsensusStateHeights

RPC method.

FieldTypeLabelDescription
client_id string

client identifier

pagination cosmos.base.query.v1beta1.PageRequest

pagination request

QueryConsensusStateHeightsResponse

QueryConsensusStateHeightsResponse is the response type for the

Query/ConsensusStateHeights RPC method

FieldTypeLabelDescription
consensus_state_heights Height repeated

consensus state heights

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.

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

QueryVerifyMembershipRequest

QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method

FieldTypeLabelDescription
client_id string

client unique identifier.

proof bytes

the proof to be verified by the client.

proof_height Height

the height of the commitment root at which the proof is verified.

merkle_path ibc.core.commitment.v1.MerklePath

the commitment key path.

value bytes

the value which is proven.

time_delay uint64

optional time delay

block_delay uint64

optional block delay

QueryVerifyMembershipResponse

QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method

FieldTypeLabelDescription
success bool

boolean indicating success or failure of proof verification.

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.

ConsensusStateHeights QueryConsensusStateHeightsRequest QueryConsensusStateHeightsResponse

ConsensusStateHeights queries the height of every consensus states 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 submodule.

UpgradedClientState QueryUpgradedClientStateRequest QueryUpgradedClientStateResponse

UpgradedClientState queries an Upgraded IBC light client.

UpgradedConsensusState QueryUpgradedConsensusStateRequest QueryUpgradedConsensusStateResponse

UpgradedConsensusState queries an Upgraded IBC consensus state.

VerifyMembership QueryVerifyMembershipRequest QueryVerifyMembershipResponse

VerifyMembership queries an IBC light client for proof verification of a value at a given key path.

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}
ConsensusStateHeights GET /ibc/core/client/v1/consensus_states/{client_id}/heights
ClientStatus GET /ibc/core/client/v1/client_status/{client_id}
ClientParams GET /ibc/core/client/v1/params
UpgradedClientState GET /ibc/core/client/v1/upgraded_client_states
UpgradedConsensusState GET /ibc/core/client/v1/upgraded_consensus_states
VerifyMembership POST /ibc/core/client/v1/verify_membership *

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.

MsgIBCSoftwareUpgrade

MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal

FieldTypeLabelDescription
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. Correspondingly, the UpgradedClientState field has been deprecated in the Cosmos SDK to allow for this logic to exist solely in the 02-client module.

signer string

signer address

MsgIBCSoftwareUpgradeResponse

MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type.

MsgRecoverClient

MsgRecoverClient defines the message used to recover a frozen or expired client.

FieldTypeLabelDescription
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 which will replace the subject client

signer string

signer address

MsgRecoverClientResponse

MsgRecoverClientResponse defines the Msg/RecoverClient response type.

MsgSubmitMisbehaviour

MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for

light client misbehaviour.

This message has been deprecated. Use MsgUpdateClient instead.

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 client message.

FieldTypeLabelDescription
client_id string

client unique identifier

client_message google.protobuf.Any

client message to update the light client

signer string

signer address

MsgUpdateClientResponse

MsgUpdateClientResponse defines the Msg/UpdateClient response type.

MsgUpdateParams

MsgUpdateParams defines the sdk.Msg type to update the client parameters.

FieldTypeLabelDescription
signer string

signer address

params Params

params defines the client parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the MsgUpdateParams 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.

RecoverClient MsgRecoverClient MsgRecoverClientResponse

RecoverClient defines a rpc handler method for MsgRecoverClient.

IBCSoftwareUpgrade MsgIBCSoftwareUpgrade MsgIBCSoftwareUpgradeResponse

IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade.

UpdateClientParams MsgUpdateParams MsgUpdateParamsResponse

UpdateClientParams defines a rpc handler method for MsgUpdateParams.

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 cosmos.ics23.v1.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/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/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

QueryConnectionParamsRequest

QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method.

QueryConnectionParamsResponse

QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

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.

ConnectionParams QueryConnectionParamsRequest QueryConnectionParamsResponse

ConnectionParams queries all parameters of the ibc connection submodule.

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}
ConnectionParams GET /ibc/core/connection/v1/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

Deprecated.

proof_height ibc.core.client.v1.Height

proof_try bytes

proof of the initialization the connection on Chain B: `UNITIALIZED -> TRYOPEN`

proof_client bytes

Deprecated. proof of client state included in message

proof_consensus bytes

Deprecated. proof of client consensus state

consensus_height ibc.core.client.v1.Height

Deprecated.

signer string

host_consensus_state_proof bytes

Deprecated. optional proof data for host state machines that are unable to introspect their own consensus state

Fields with deprecated option

Name Option
client_state

true

proof_client

true

proof_consensus

true

consensus_height

true

host_consensus_state_proof

true

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

Deprecated. Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.

client_state google.protobuf.Any

Deprecated.

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

Deprecated. proof of client state included in message

proof_consensus bytes

Deprecated. proof of client consensus state

consensus_height ibc.core.client.v1.Height

Deprecated.

signer string

host_consensus_state_proof bytes

Deprecated. optional proof data for host state machines that are unable to introspect their own consensus state

Fields with deprecated option

Name Option
previous_connection_id

true

client_state

true

proof_client

true

proof_consensus

true

consensus_height

true

host_consensus_state_proof

true

MsgConnectionOpenTryResponse

MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.

MsgUpdateParams

MsgUpdateParams defines the sdk.Msg type to update the connection parameters.

FieldTypeLabelDescription
signer string

signer address

params Params

params defines the connection parameters to update. NOTE: All parameters must be supplied.

MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the MsgUpdateParams 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.

UpdateConnectionParams MsgUpdateParams MsgUpdateParamsResponse

UpdateConnectionParams defines a rpc handler method for MsgUpdateParams.

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