Documentation ¶
Index ¶
Constants ¶
const ( // TypeClientMisbehaviour is the shared evidence misbehaviour type TypeClientMisbehaviour string = "client_misbehaviour" // Localhost is the client type for a localhost client. It is also used as the clientID // for the localhost client. Localhost string = "localhost" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChannelI ¶
type ChannelI interface { GetState() int32 GetOrdering() int32 GetCounterparty() CounterpartyChannelI GetConnectionHops() []string GetVersion() string ValidateBasic() error }
ChannelI defines the standard interface for a channel end.
type ClientState ¶
type ClientState interface { ClientType() string GetLatestHeight() Height IsFrozen() bool GetFrozenHeight() Height Validate() error GetProofSpecs() []*ics23.ProofSpec CheckHeaderAndUpdateState(sdk.Context, codec.BinaryMarshaler, sdk.KVStore, Header) (ClientState, ConsensusState, error) CheckMisbehaviourAndUpdateState(sdk.Context, codec.BinaryMarshaler, sdk.KVStore, Misbehaviour) (ClientState, error) CheckProposedHeaderAndUpdateState(sdk.Context, codec.BinaryMarshaler, sdk.KVStore, Header) (ClientState, ConsensusState, error) // Upgrade functions VerifyUpgrade( ctx sdk.Context, cdc codec.BinaryMarshaler, store sdk.KVStore, newClient ClientState, upgradeHeight Height, proofUpgrade []byte, ) error // Utility function that zeroes out any client customizable fields in client state // Ledger enforced fields are maintained while all custom fields are zero values // Used to verify upgrades ZeroCustomFields() ClientState VerifyClientState( store sdk.KVStore, cdc codec.BinaryMarshaler, root Root, height Height, prefix Prefix, counterpartyClientIdentifier string, proof []byte, clientState ClientState, ) error VerifyClientConsensusState( store sdk.KVStore, cdc codec.BinaryMarshaler, root Root, height Height, counterpartyClientIdentifier string, consensusHeight Height, prefix Prefix, proof []byte, consensusState ConsensusState, ) error VerifyConnectionState( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, connectionID string, connectionEnd ConnectionI, ) error VerifyChannelState( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, portID, channelID string, channel ChannelI, ) error VerifyPacketCommitment( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, portID, channelID string, sequence uint64, commitmentBytes []byte, ) error VerifyPacketAcknowledgement( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, portID, channelID string, sequence uint64, acknowledgement []byte, ) error VerifyPacketReceiptAbsence( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, portID, channelID string, sequence uint64, ) error VerifyNextSequenceRecv( store sdk.KVStore, cdc codec.BinaryMarshaler, height Height, prefix Prefix, proof []byte, portID, channelID string, nextSequenceRecv uint64, ) error }
ClientState defines the required common functions for light clients.
type ConnectionI ¶
type ConnectionI interface { GetClientID() string GetState() int32 GetCounterparty() CounterpartyConnectionI GetVersions() []string ValidateBasic() error }
ConnectionI describes the required methods for a connection.
type ConsensusState ¶
type ConsensusState interface { ClientType() string // Consensus kind // GetRoot returns the commitment root of the consensus state, // which is used for key-value pair verification. GetRoot() Root // GetTimestamp returns the timestamp (in nanoseconds) of the consensus state GetTimestamp() uint64 ValidateBasic() error }
ConsensusState is the state of the consensus process
type CounterpartyChannelI ¶
type CounterpartyChannelI interface { GetPortID() string GetChannelID() string ValidateBasic() error }
CounterpartyChannelI defines the standard interface for a channel end's counterparty.
type CounterpartyConnectionI ¶
type CounterpartyConnectionI interface { GetClientID() string GetConnectionID() string GetPrefix() Prefix ValidateBasic() error }
CounterpartyConnectionI describes the required methods for a counterparty connection.
type Height ¶
type Height interface { IsZero() bool LT(Height) bool LTE(Height) bool EQ(Height) bool GT(Height) bool GTE(Height) bool GetVersionNumber() uint64 GetVersionHeight() uint64 Decrement() (Height, bool) String() string }
Height is a wrapper interface over clienttypes.Height all clients must use the concrete implementation in types
type Misbehaviour ¶
type Misbehaviour interface { ClientType() string GetClientID() string String() string ValidateBasic() error // Height at which the infraction occurred GetHeight() Height }
Misbehaviour defines counterparty misbehaviour for a specific consensus type
type PacketI ¶
type PacketI interface { GetSequence() uint64 GetTimeoutHeight() Height GetTimeoutTimestamp() uint64 GetSourcePort() string GetSourceChannel() string GetDestPort() string GetDestChannel() string GetData() []byte ValidateBasic() error }
PacketI defines the standard interface for IBC packets
type Path ¶
Path implements spec:CommitmentPath. A path is the additional information provided to the verification function.
type Prefix ¶
Prefix implements spec:CommitmentPrefix. Prefix represents the common "prefix" that a set of keys shares.
type Proof ¶
type Proof interface { VerifyMembership([]*ics23.ProofSpec, Root, Path, []byte) error VerifyNonMembership([]*ics23.ProofSpec, Root, Path) error Empty() bool ValidateBasic() error }
Proof implements spec:CommitmentProof. Proof can prove whether the key-value pair is a part of the Root or not. Each proof has designated key-value pair it is able to prove. Proofs includes key but value is provided dynamically at the verification time.