Struct cw_iper_test::IbcClosures

source ·
pub struct IbcClosures<E1, E2, E3, E4, E5, C, Q = Empty>
where Q: CustomQuery, C: CustomMsg,
{ pub fn_ibc_channel_open: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelOpenMsg) -> Result<Option<Ibc3ChannelOpenResponse>, E1>>, pub fn_ibc_channel_close: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelCloseMsg) -> Result<IbcBasicResponse<C>, E2>>, pub fn_ibc_channel_connect: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelConnectMsg) -> Result<IbcBasicResponse<C>, E3>>, pub fn_ibc_packet_receive: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketReceiveMsg) -> Result<IbcReceiveResponse<C>, Never>>, pub fn_ibc_packet_ack: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketAckMsg) -> Result<IbcBasicResponse<C>, E4>>, pub fn_ibc_packet_timeout: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketTimeoutMsg) -> Result<IbcBasicResponse<C>, E5>>, }
Expand description

Structure containing the various ibc closures

Fields§

§fn_ibc_channel_open: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelOpenMsg) -> Result<Option<Ibc3ChannelOpenResponse>, E1>>

#[entry_point] ibc_channel_open closure

§fn_ibc_channel_close: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelCloseMsg) -> Result<IbcBasicResponse<C>, E2>>

#[entry_point] ibc_channel_close closure

§fn_ibc_channel_connect: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcChannelConnectMsg) -> Result<IbcBasicResponse<C>, E3>>

#[entry_point] ibc_channel_connect closure

§fn_ibc_packet_receive: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketReceiveMsg) -> Result<IbcReceiveResponse<C>, Never>>

#[entry_point] ibc_packet_receive closure

§fn_ibc_packet_ack: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketAckMsg) -> Result<IbcBasicResponse<C>, E4>>

#[entry_point] ibc_packet_ack closure

§fn_ibc_packet_timeout: Box<dyn Fn(DepsMut<'_, Q>, Env, IbcPacketTimeoutMsg) -> Result<IbcBasicResponse<C>, E5>>

#[entry_point] ibc_packet_timeout closure

Implementations§

source§

impl<E1, E2, E3, E4, E5, C, Q> IbcClosures<E1, E2, E3, E4, E5, C, Q>
where Q: CustomQuery + 'static, C: CustomMsg + 'static, E1: Display + Debug + Send + Sync + 'static, E2: Display + Debug + Send + Sync + 'static, E3: Display + Debug + Send + Sync + 'static, E4: Display + Debug + Send + Sync + 'static, E5: Display + Debug + Send + Sync + 'static,

source

pub fn new( fn_ibc_channel_open: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelOpenMsg) -> Result<Option<Ibc3ChannelOpenResponse>, E1>, fn_ibc_channel_close: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelCloseMsg) -> Result<IbcBasicResponse<C>, E2>, fn_ibc_channel_connect: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelConnectMsg) -> Result<IbcBasicResponse<C>, E3>, fn_ibc_packet_receive: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketReceiveMsg) -> Result<IbcReceiveResponse<C>, Never>, fn_ibc_packet_ack: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketAckMsg) -> Result<IbcBasicResponse<C>, E4>, fn_ibc_packet_timeout: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketTimeoutMsg) -> Result<IbcBasicResponse<C>, E5> ) -> IbcClosures<E1, E2, E3, E4, E5, C, Q>

Constructor function

source

pub fn new_as_ibc_contract( fn_ibc_channel_open: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelOpenMsg) -> Result<Option<Ibc3ChannelOpenResponse>, E1>, fn_ibc_channel_close: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelCloseMsg) -> Result<IbcBasicResponse<C>, E2>, fn_ibc_channel_connect: fn(_: DepsMut<'_, Q>, _: Env, _: IbcChannelConnectMsg) -> Result<IbcBasicResponse<C>, E3>, fn_ibc_packet_receive: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketReceiveMsg) -> Result<IbcReceiveResponse<C>, Never>, fn_ibc_packet_ack: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketAckMsg) -> Result<IbcBasicResponse<C>, E4>, fn_ibc_packet_timeout: fn(_: DepsMut<'_, Q>, _: Env, _: IbcPacketTimeoutMsg) -> Result<IbcBasicResponse<C>, E5> ) -> Box<dyn IbcContract<C, Q>>

Create a new IbcClosures as [IbcContract]

Auto Trait Implementations§

§

impl<E1, E2, E3, E4, E5, C, Q> Freeze for IbcClosures<E1, E2, E3, E4, E5, C, Q>

§

impl<E1, E2, E3, E4, E5, C, Q = Empty> !RefUnwindSafe for IbcClosures<E1, E2, E3, E4, E5, C, Q>

§

impl<E1, E2, E3, E4, E5, C, Q = Empty> !Send for IbcClosures<E1, E2, E3, E4, E5, C, Q>

§

impl<E1, E2, E3, E4, E5, C, Q = Empty> !Sync for IbcClosures<E1, E2, E3, E4, E5, C, Q>

§

impl<E1, E2, E3, E4, E5, C, Q> Unpin for IbcClosures<E1, E2, E3, E4, E5, C, Q>

§

impl<E1, E2, E3, E4, E5, C, Q = Empty> !UnwindSafe for IbcClosures<E1, E2, E3, E4, E5, C, Q>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<U> As for U

source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> JsonSchemaMaybe for T