Expand description
This crate functions as an intermediary layer between the storage of host chains and an IBC client implementation, providing developers with necessary traits to craft their custom light clients. It streamlines the process of integrating light clients with the host, enabling interaction with the store for pertinent client state transitions.
Modules§
- client_
state - Defines
ClientState
, the core type to be implemented by light clients - consensus_
state - Defines the trait to be implemented by all concrete consensus state types
- prelude
- Trait preludes for the ICS-02 client implementation.
- types
Traits§
- Client
Execution Context - Defines the methods that all client
ExecutionContext
s (precisely the generic parameter ofcrate::client_state::ClientStateExecution
) must implement. - Client
Validation Context - Defines the methods available to clients for validating client state
transitions. The generic
V
parameter in crate::client_state::ClientStateValidation must inherit from this trait. - Convertible
- General-purpose helper converter enabling
TryFrom
andInto
conversions primarily intended between an enum and its variants. This usually used by standalone functions as a trait bound allowing them to obtain the concrete local type from the enum containing that concrete type as its variant, like when enumAnyConsensusState
contains the TendermintConsensusState
. - ExtClient
Execution Context - An optional trait that extends the client context required during execution.
- ExtClient
Validation Context - An optional trait that extends the client validation context capabilities by providing additional methods for validating a client state. Mainly benefiting ICS-07 Tendermint clients by granting access to essential information from hosts.