ibc/lightclients

Table of Contents

ibc/lightclients/localhost/v2/localhost.proto

Top

ClientState

ClientState defines the 09-localhost client state

FieldTypeLabelDescription
latest_height ibc.core.client.v1.Height

the latest block height

ibc/lightclients/solomachine/v2/solomachine.proto

Top

ChannelStateData

ChannelStateData returns the SignBytes data for channel state

verification.

FieldTypeLabelDescription
path bytes

channel ibc.core.channel.v1.Channel

ClientState

ClientState defines a solo machine client that tracks the current consensus

state and if the client is frozen.

FieldTypeLabelDescription
sequence uint64

latest sequence of the client state

is_frozen bool

frozen sequence of the solo machine

consensus_state ConsensusState

allow_update_after_proposal bool

when set to true, will allow governance to update a solo machine client. The client will be unfrozen if it is frozen.

ClientStateData

ClientStateData returns the SignBytes data for client state verification.

FieldTypeLabelDescription
path bytes

client_state google.protobuf.Any

ConnectionStateData

ConnectionStateData returns the SignBytes data for connection state

verification.

FieldTypeLabelDescription
path bytes

connection ibc.core.connection.v1.ConnectionEnd

ConsensusState

ConsensusState defines a solo machine consensus state. The sequence of a

consensus state is contained in the "height" key used in storing the

consensus state.

FieldTypeLabelDescription
public_key google.protobuf.Any

public key of the solo machine

diversifier string

diversifier allows the same public key to be re-used across different solo machine clients (potentially on different chains) without being considered misbehaviour.

timestamp uint64

ConsensusStateData

ConsensusStateData returns the SignBytes data for consensus state

verification.

FieldTypeLabelDescription
path bytes

consensus_state google.protobuf.Any

Header

Header defines a solo machine consensus header

FieldTypeLabelDescription
sequence uint64

sequence to update solo machine public key at

timestamp uint64

signature bytes

new_public_key google.protobuf.Any

new_diversifier string

HeaderData

HeaderData returns the SignBytes data for update verification.

FieldTypeLabelDescription
new_pub_key google.protobuf.Any

header public key

new_diversifier string

header diversifier

Misbehaviour

Misbehaviour defines misbehaviour for a solo machine which consists

of a sequence and two signatures over different messages at that sequence.

FieldTypeLabelDescription
client_id string

sequence uint64

signature_one SignatureAndData

signature_two SignatureAndData

NextSequenceRecvData

NextSequenceRecvData returns the SignBytes data for verification of the next

sequence to be received.

FieldTypeLabelDescription
path bytes

next_seq_recv uint64

PacketAcknowledgementData

PacketAcknowledgementData returns the SignBytes data for acknowledgement

verification.

FieldTypeLabelDescription
path bytes

acknowledgement bytes

PacketCommitmentData

PacketCommitmentData returns the SignBytes data for packet commitment

verification.

FieldTypeLabelDescription
path bytes

commitment bytes

PacketReceiptAbsenceData

PacketReceiptAbsenceData returns the SignBytes data for

packet receipt absence verification.

FieldTypeLabelDescription
path bytes

SignBytes

SignBytes defines the signed bytes used for signature verification.

FieldTypeLabelDescription
sequence uint64

timestamp uint64

diversifier string

data_type DataType

type of the data used

data bytes

marshaled data

SignatureAndData

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

signature.

FieldTypeLabelDescription
signature bytes

data_type DataType

data bytes

timestamp uint64

TimestampedSignatureData

TimestampedSignatureData contains the signature data and the timestamp of the

signature.

FieldTypeLabelDescription
signature_data bytes

timestamp uint64

DataType

DataType defines the type of solo machine proof being created. This is done

to preserve uniqueness of different data sign byte encodings.

NameNumberDescription
DATA_TYPE_UNINITIALIZED_UNSPECIFIED 0

Default State

DATA_TYPE_CLIENT_STATE 1

Data type for client state verification

DATA_TYPE_CONSENSUS_STATE 2

Data type for consensus state verification

DATA_TYPE_CONNECTION_STATE 3

Data type for connection state verification

DATA_TYPE_CHANNEL_STATE 4

Data type for channel state verification

DATA_TYPE_PACKET_COMMITMENT 5

Data type for packet commitment verification

DATA_TYPE_PACKET_ACKNOWLEDGEMENT 6

Data type for packet acknowledgement verification

DATA_TYPE_PACKET_RECEIPT_ABSENCE 7

Data type for packet receipt absence verification

DATA_TYPE_NEXT_SEQUENCE_RECV 8

Data type for next sequence recv verification

DATA_TYPE_HEADER 9

Data type for header verification

ibc/lightclients/solomachine/v3/solomachine.proto

Top

ClientState

ClientState defines a solo machine client that tracks the current consensus

state and if the client is frozen.

FieldTypeLabelDescription
sequence uint64

latest sequence of the client state

is_frozen bool

frozen sequence of the solo machine

consensus_state ConsensusState

ConsensusState

ConsensusState defines a solo machine consensus state. The sequence of a

consensus state is contained in the "height" key used in storing the

consensus state.

FieldTypeLabelDescription
public_key google.protobuf.Any

public key of the solo machine

diversifier string

diversifier allows the same public key to be re-used across different solo machine clients (potentially on different chains) without being considered misbehaviour.

timestamp uint64

Header

Header defines a solo machine consensus header

FieldTypeLabelDescription
timestamp uint64

signature bytes

new_public_key google.protobuf.Any

new_diversifier string

HeaderData

HeaderData returns the SignBytes data for update verification.

FieldTypeLabelDescription
new_pub_key google.protobuf.Any

header public key

new_diversifier string

header diversifier

Misbehaviour

Misbehaviour defines misbehaviour for a solo machine which consists

of a sequence and two signatures over different messages at that sequence.

FieldTypeLabelDescription
sequence uint64

signature_one SignatureAndData

signature_two SignatureAndData

SignBytes

SignBytes defines the signed bytes used for signature verification.

FieldTypeLabelDescription
sequence uint64

the sequence number

timestamp uint64

the proof timestamp

diversifier string

the public key diversifier

path bytes

the standardised path bytes

data bytes

the marshaled data bytes

SignatureAndData

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

signature.

FieldTypeLabelDescription
signature bytes

path bytes

data bytes

timestamp uint64

TimestampedSignatureData

TimestampedSignatureData contains the signature data and the timestamp of the

signature.

FieldTypeLabelDescription
signature_data bytes

timestamp uint64

ibc/lightclients/tendermint/v1/tendermint.proto

Top

ClientState

ClientState from Tendermint tracks the current validator set, latest height,

and a possible frozen height.

FieldTypeLabelDescription
chain_id string

trust_level Fraction

trusting_period google.protobuf.Duration

duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade

unbonding_period google.protobuf.Duration

duration of the staking unbonding period

max_clock_drift google.protobuf.Duration

defines how much new (untrusted) header's Time can drift into the future.

frozen_height ibc.core.client.v1.Height

Block height when the client was frozen due to a misbehaviour

latest_height ibc.core.client.v1.Height

Latest height the client was updated to

proof_specs cosmos.ics23.v1.ProofSpec repeated

Proof specifications used in verifying counterparty state

upgrade_path string repeated

Path at which next upgraded client will be committed. Each element corresponds to the key for a single CommitmentProof in the chained proof. NOTE: ClientState must stored under `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using the default upgrade module, upgrade_path should be []string{"upgrade", "upgradedIBCState"}`

allow_update_after_expiry bool

Deprecated. allow_update_after_expiry is deprecated

allow_update_after_misbehaviour bool

Deprecated. allow_update_after_misbehaviour is deprecated

Fields with deprecated option

Name Option
allow_update_after_expiry

true

allow_update_after_misbehaviour

true

ConsensusState

ConsensusState defines the consensus state from Tendermint.

FieldTypeLabelDescription
timestamp google.protobuf.Timestamp

timestamp that corresponds to the block height in which the ConsensusState was stored.

root ibc.core.commitment.v1.MerkleRoot

commitment root (i.e app hash)

next_validators_hash bytes

Fraction

Fraction defines the protobuf message type for tmmath.Fraction that only

supports positive values.

FieldTypeLabelDescription
numerator uint64

denominator uint64

Header

Header defines the Tendermint client consensus Header.

It encapsulates all the information necessary to update from a trusted

Tendermint ConsensusState. The inclusion of TrustedHeight and

TrustedValidators allows this update to process correctly, so long as the

ConsensusState for the TrustedHeight exists, this removes race conditions

among relayers The SignedHeader and ValidatorSet are the new untrusted update

fields for the client. The TrustedHeight is the height of a stored

ConsensusState on the client that will be used to verify the new untrusted

header. The Trusted ConsensusState must be within the unbonding period of

current time in order to correctly verify, and the TrustedValidators must

hash to TrustedConsensusState.NextValidatorsHash since that is the last

trusted validator set at the TrustedHeight.

FieldTypeLabelDescription
signed_header tendermint.types.SignedHeader

validator_set tendermint.types.ValidatorSet

trusted_height ibc.core.client.v1.Height

trusted_validators tendermint.types.ValidatorSet

Misbehaviour

Misbehaviour is a wrapper over two conflicting Headers

that implements Misbehaviour interface expected by ICS-02

FieldTypeLabelDescription
client_id string

Deprecated. ClientID is deprecated

header_1 Header

header_2 Header

Fields with deprecated option

Name Option
client_id

true

ibc/lightclients/wasm/v1/genesis.proto

Top

Contract

Contract stores contract code

FieldTypeLabelDescription
code_bytes bytes

contract byte code

GenesisState

GenesisState defines 08-wasm's keeper genesis state

FieldTypeLabelDescription
contracts Contract repeated

uploaded light client wasm contracts

ibc/lightclients/wasm/v1/query.proto

Top

QueryChecksumsRequest

QueryChecksumsRequest is the request type for the Query/Checksums RPC method.

FieldTypeLabelDescription
pagination cosmos.base.query.v1beta1.PageRequest

pagination defines an optional pagination for the request.

QueryChecksumsResponse

QueryChecksumsResponse is the response type for the Query/Checksums RPC method.

FieldTypeLabelDescription
checksums string repeated

checksums is a list of the hex encoded checksums of all wasm codes stored.

pagination cosmos.base.query.v1beta1.PageResponse

pagination defines the pagination in the response.

QueryCodeRequest

QueryCodeRequest is the request type for the Query/Code RPC method.

FieldTypeLabelDescription
checksum string

checksum is a hex encoded string of the code stored.

QueryCodeResponse

QueryCodeResponse is the response type for the Query/Code RPC method.

FieldTypeLabelDescription
data bytes

Query

Query service for wasm module

Method NameRequest TypeResponse TypeDescription
Checksums QueryChecksumsRequest QueryChecksumsResponse

Get all Wasm checksums

Code QueryCodeRequest QueryCodeResponse

Get Wasm code for given checksum

Methods with HTTP bindings

Method Name Method Pattern Body
Checksums GET /ibc/lightclients/wasm/v1/checksums
Code GET /ibc/lightclients/wasm/v1/checksums/{checksum}/code

ibc/lightclients/wasm/v1/tx.proto

Top

MsgMigrateContract

MsgMigrateContract defines the request type for the MigrateContract rpc.

FieldTypeLabelDescription
signer string

signer address

client_id string

the client id of the contract

checksum bytes

checksum is the sha256 hash of the new wasm byte code for the contract

msg bytes

the json encoded message to be passed to the contract on migration

MsgMigrateContractResponse

MsgMigrateContractResponse defines the response type for the MigrateContract rpc

MsgRemoveChecksum

MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.

FieldTypeLabelDescription
signer string

signer address

checksum bytes

checksum is the sha256 hash to be removed from the store

MsgRemoveChecksumResponse

MsgStoreChecksumResponse defines the response type for the StoreCode rpc

MsgStoreCode

MsgStoreCode defines the request type for the StoreCode rpc.

FieldTypeLabelDescription
signer string

signer address

wasm_byte_code bytes

wasm byte code of light client contract. It can be raw or gzip compressed

MsgStoreCodeResponse

MsgStoreCodeResponse defines the response type for the StoreCode rpc

FieldTypeLabelDescription
checksum bytes

checksum is the sha256 hash of the stored code

Msg

Msg defines the ibc/08-wasm Msg service.

Method NameRequest TypeResponse TypeDescription
StoreCode MsgStoreCode MsgStoreCodeResponse

StoreCode defines a rpc handler method for MsgStoreCode.

RemoveChecksum MsgRemoveChecksum MsgRemoveChecksumResponse

RemoveChecksum defines a rpc handler method for MsgRemoveChecksum.

MigrateContract MsgMigrateContract MsgMigrateContractResponse

MigrateContract defines a rpc handler method for MsgMigrateContract.

ibc/lightclients/wasm/v1/wasm.proto

Top

Checksums

Checksums defines a list of all checksums that are stored

Deprecated: This message is deprecated in favor of storing the checksums

using a Collections.KeySet.

FieldTypeLabelDescription
checksums bytes repeated

ClientMessage

Wasm light client message (either header(s) or misbehaviour)

FieldTypeLabelDescription
data bytes

ClientState

Wasm light client's Client state

FieldTypeLabelDescription
data bytes

bytes encoding the client state of the underlying light client implemented as a Wasm contract.

checksum bytes

latest_height ibc.core.client.v1.Height

ConsensusState

Wasm light client's ConsensusState

FieldTypeLabelDescription
data bytes

bytes encoding the consensus state of the underlying light client implemented as a Wasm contract.

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