penumbra_ibc::component::app_handler

Trait AppHandlerCheck

Source
pub trait AppHandlerCheck: Send + Sync {
    // Required methods
    fn chan_open_init_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelOpenInit,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn chan_open_try_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelOpenTry,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn chan_open_ack_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelOpenAck,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn chan_open_confirm_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelOpenConfirm,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn chan_close_confirm_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelCloseConfirm,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn chan_close_init_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgChannelCloseInit,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn recv_packet_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgRecvPacket,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn timeout_packet_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgTimeout,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
    fn acknowledge_packet_check<'life0, 'async_trait, S>(
        state: S,
        msg: &'life0 MsgAcknowledgement,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where S: 'async_trait + StateRead,
             'life0: 'async_trait;
}
Available on crate feature component only.
Expand description

AppHandlerCheck defines the interface for an IBC application to consume IBC channel and packet events, and apply their validation logic. This validation logic is used for stateful validation only.

Required Methods§

Source

fn chan_open_init_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelOpenInit, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn chan_open_try_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelOpenTry, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn chan_open_ack_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelOpenAck, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn chan_open_confirm_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelOpenConfirm, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn chan_close_confirm_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelCloseConfirm, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn chan_close_init_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgChannelCloseInit, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn recv_packet_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgRecvPacket, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn timeout_packet_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgTimeout, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Source

fn acknowledge_packet_check<'life0, 'async_trait, S>( state: S, msg: &'life0 MsgAcknowledgement, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where S: 'async_trait + StateRead, 'life0: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§