Struct cosmwasm_std::IbcReceiveResponse
source · [−]#[non_exhaustive]pub struct IbcReceiveResponse<T = Empty> {
pub acknowledgement: Binary,
pub messages: Vec<SubMsg<T>>,
pub attributes: Vec<Attribute>,
pub events: Vec<Event>,
}
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.acknowledgement: Binary
The bytes we return to the contract that sent the packet. This may represent a success or error of exection
messages: Vec<SubMsg<T>>
Optional list of messages to pass. These will be executed in order.
If the ReplyOn member is set, they will invoke this contract’s reply
entry point
after execution. Otherwise, they act like “fire and forget”.
Use call
or msg.into()
to create messages with the older “fire and forget” semantics.
attributes: Vec<Attribute>
The attributes that will be emitted as part of a “wasm” event.
More info about events (and their attributes) can be found in Cosmos SDK docs.
events: Vec<Event>
Extra, custom events separate from the main wasm
one. These will have
wasm-
prepended to the type.
More info about events can be found in Cosmos SDK docs.
Implementations
sourceimpl<T> IbcReceiveResponse<T>
impl<T> IbcReceiveResponse<T>
pub fn new() -> Self
sourcepub fn set_ack(self, ack: impl Into<Binary>) -> Self
pub fn set_ack(self, ack: impl Into<Binary>) -> Self
Set the acknowledgement for this response.
sourcepub fn add_attribute(
self,
key: impl Into<String>,
value: impl Into<String>
) -> Self
pub fn add_attribute(
self,
key: impl Into<String>,
value: impl Into<String>
) -> Self
Add an attribute included in the main wasm
event.
sourcepub fn add_message(self, msg: impl Into<CosmosMsg<T>>) -> Self
pub fn add_message(self, msg: impl Into<CosmosMsg<T>>) -> Self
This creates a “fire and forget” message, by using SubMsg::new()
to wrap it,
and adds it to the list of messages to process.
sourcepub fn add_submessage(self, msg: SubMsg<T>) -> Self
pub fn add_submessage(self, msg: SubMsg<T>) -> Self
This takes an explicit SubMsg (creates via eg. reply_on_error
)
and adds it to the list of messages to process.
sourcepub fn add_event(self, event: Event) -> Self
pub fn add_event(self, event: Event) -> Self
Adds an extra event to the response, separate from the main wasm
event
that is always created.
The wasm-
prefix will be appended by the runtime to the provided type
of event.
sourcepub fn add_attributes<A: Into<Attribute>>(
self,
attrs: impl IntoIterator<Item = A>
) -> Self
pub fn add_attributes<A: Into<Attribute>>(
self,
attrs: impl IntoIterator<Item = A>
) -> Self
Bulk add attributes included in the main wasm
event.
Anything that can be turned into an iterator and yields something
that can be converted into an Attribute
is accepted.
Examples
use cosmwasm_std::{attr, IbcReceiveResponse};
let attrs = vec![
("action", "reaction"),
("answer", "42"),
("another", "attribute"),
];
let res: IbcReceiveResponse = IbcReceiveResponse::new().add_attributes(attrs.clone());
assert_eq!(res.attributes, attrs);
sourcepub fn add_messages<M: Into<CosmosMsg<T>>>(
self,
msgs: impl IntoIterator<Item = M>
) -> Self
pub fn add_messages<M: Into<CosmosMsg<T>>>(
self,
msgs: impl IntoIterator<Item = M>
) -> Self
Bulk add “fire and forget” messages to the list of messages to process.
Examples
use cosmwasm_std::{CosmosMsg, IbcReceiveResponse};
fn make_response_with_msgs(msgs: Vec<CosmosMsg>) -> IbcReceiveResponse {
IbcReceiveResponse::new().add_messages(msgs)
}
sourcepub fn add_submessages(self, msgs: impl IntoIterator<Item = SubMsg<T>>) -> Self
pub fn add_submessages(self, msgs: impl IntoIterator<Item = SubMsg<T>>) -> Self
Bulk add explicit SubMsg structs to the list of messages to process.
Examples
use cosmwasm_std::{SubMsg, IbcReceiveResponse};
fn make_response_with_submsgs(msgs: Vec<SubMsg>) -> IbcReceiveResponse {
IbcReceiveResponse::new().add_submessages(msgs)
}
sourcepub fn add_events(self, events: impl IntoIterator<Item = Event>) -> Self
pub fn add_events(self, events: impl IntoIterator<Item = Event>) -> Self
Bulk add custom events to the response. These are separate from the main
wasm
event.
The wasm-
prefix will be appended by the runtime to the provided types
of events.
Trait Implementations
sourceimpl<T: Clone> Clone for IbcReceiveResponse<T>
impl<T: Clone> Clone for IbcReceiveResponse<T>
sourcefn clone(&self) -> IbcReceiveResponse<T>
fn clone(&self) -> IbcReceiveResponse<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T: Debug> Debug for IbcReceiveResponse<T>
impl<T: Debug> Debug for IbcReceiveResponse<T>
sourceimpl<T> Default for IbcReceiveResponse<T>
impl<T> Default for IbcReceiveResponse<T>
sourceimpl<'de, T> Deserialize<'de> for IbcReceiveResponse<T> where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for IbcReceiveResponse<T> where
T: Deserialize<'de>,
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<T: JsonSchema> JsonSchema for IbcReceiveResponse<T>
impl<T: JsonSchema> JsonSchema for IbcReceiveResponse<T>
sourcefn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
sourcefn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
sourcefn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the $ref
keyword. Read more
sourceimpl<T: PartialEq> PartialEq<IbcReceiveResponse<T>> for IbcReceiveResponse<T>
impl<T: PartialEq> PartialEq<IbcReceiveResponse<T>> for IbcReceiveResponse<T>
sourcefn eq(&self, other: &IbcReceiveResponse<T>) -> bool
fn eq(&self, other: &IbcReceiveResponse<T>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &IbcReceiveResponse<T>) -> bool
fn ne(&self, other: &IbcReceiveResponse<T>) -> bool
This method tests for !=
.
sourceimpl<T> Serialize for IbcReceiveResponse<T> where
T: Serialize,
impl<T> Serialize for IbcReceiveResponse<T> where
T: Serialize,
impl<T> StructuralPartialEq for IbcReceiveResponse<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for IbcReceiveResponse<T> where
T: RefUnwindSafe,
impl<T> Send for IbcReceiveResponse<T> where
T: Send,
impl<T> Sync for IbcReceiveResponse<T> where
T: Sync,
impl<T> Unpin for IbcReceiveResponse<T> where
T: Unpin,
impl<T> UnwindSafe for IbcReceiveResponse<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more