pub trait Event: Sized + Encode {
// Required methods
fn module_name(&self) -> &str;
fn code(&self) -> u32;
// Provided method
fn into_raw(self) -> Event { ... }
}Expand description
An event emitted by the contract.
This trait can be derived:
#[derive(Clone, Debug, cbor::Encode, Event)]
#[cbor(untagged)]
#[sdk_event(autonumber)]
enum MyEvent {
Greeting(String), // autonumbered to 0
#[sdk_event(code = 2)] // manually numbered to 2 (`code` is required if not autonumbering)
DontPanic,
Salutation { // autonumbered to 1
plural: bool,
}
}Required Methods§
Sourcefn module_name(&self) -> &str
fn module_name(&self) -> &str
Name of the module that emitted the event.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".