Crate ibc_core_client_context

source ·
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§

  • Defines ClientState, the core type to be implemented by light clients
  • Defines the trait to be implemented by all concrete consensus state types
  • Trait preludes for the ICS-02 client implementation.

Traits§

  • Defines the methods that all client ExecutionContexts (precisely the generic parameter of crate::client_state::ClientStateExecution ) must implement.
  • 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.
  • General-purpose helper converter enabling TryInto and From 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 enum AnyConsensusState contains the Tendermint ConsensusState.
  • An optional trait that extends the client context required during execution.
  • 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.