Struct secret_cosmwasm_std::Event
source · #[non_exhaustive]pub struct Event {
pub ty: String,
pub attributes: Vec<Attribute>,
}
Expand description
A full Cosmos SDK event.
This version uses string attributes (similar to Cosmos SDK StringEvent),
which then get magically converted to bytes for Tendermint somewhere between
the Rust-Go interface, JSON deserialization and the NewEvent
call in Cosmos SDK.
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.ty: String
The event type. This is renamed to “ty” because “type” is reserved in Rust. This sucks, we know.
attributes: Vec<Attribute>
The attributes to be included in the event.
You can learn more about these from Cosmos SDK docs.
Implementations§
source§impl Event
impl Event
sourcepub fn new(ty: impl Into<String>) -> Self
pub fn new(ty: impl Into<String>) -> Self
Create a new event with the given type and an empty list of attributes.
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 ENCRYPTED attribute to the event. Only the transaction sender can decrypt it.
sourcepub fn add_attribute_plaintext(
self,
key: impl Into<String>,
value: impl Into<String>
) -> Self
pub fn add_attribute_plaintext( self, key: impl Into<String>, value: impl Into<String> ) -> Self
Add a NON-ENCRYPTED attribute to the event. This key-value pair will be a public on-chain output for the transaction. This is a good way of indexing public contract data on-chain.
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 to the event.
Anything that can be turned into an iterator and yields something
that can be converted into an Attribute
is accepted.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Event
impl<'de> Deserialize<'de> for Event
source§fn 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>,
source§impl JsonSchema for Event
impl JsonSchema for Event
source§fn schema_name() -> String
fn schema_name() -> String
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read more