pub trait SendPacketValidationContext {
    type V: ClientValidationContext;
    type E: ClientExecutionContext;
    type AnyConsensusState: ConsensusState;
    type AnyClientState: ClientState<Self::V, Self::E>;

    // Required methods
    fn get_client_validation_context(&self) -> &Self::V;
    fn channel_end(
        &self,
        channel_end_path: &ChannelEndPath
    ) -> Result<ChannelEnd, ContextError>;
    fn connection_end(
        &self,
        connection_id: &ConnectionId
    ) -> Result<ConnectionEnd, ContextError>;
    fn client_state(
        &self,
        client_id: &ClientId
    ) -> Result<Self::AnyClientState, ContextError>;
    fn client_consensus_state(
        &self,
        client_cons_state_path: &ClientConsensusStatePath
    ) -> Result<Self::AnyConsensusState, ContextError>;
    fn get_next_sequence_send(
        &self,
        seq_send_path: &SeqSendPath
    ) -> Result<Sequence, ContextError>;
}
Expand description

Methods required in send packet validation, to be implemented by the host

Required Associated Types§

Required Methods§

source

fn get_client_validation_context(&self) -> &Self::V

Retrieve the context that implements all clients’ ValidationContext.

source

fn channel_end( &self, channel_end_path: &ChannelEndPath ) -> Result<ChannelEnd, ContextError>

Returns the ChannelEnd for the given port_id and chan_id.

source

fn connection_end( &self, connection_id: &ConnectionId ) -> Result<ConnectionEnd, ContextError>

Returns the ConnectionState for the given identifier connection_id.

source

fn client_state( &self, client_id: &ClientId ) -> Result<Self::AnyClientState, ContextError>

Returns the ClientState for the given identifier client_id. Necessary dependency towards proof verification.

source

fn client_consensus_state( &self, client_cons_state_path: &ClientConsensusStatePath ) -> Result<Self::AnyConsensusState, ContextError>

source

fn get_next_sequence_send( &self, seq_send_path: &SeqSendPath ) -> Result<Sequence, ContextError>

Object Safety§

This trait is not object safe.

Implementors§