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§
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,
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.