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.