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", so this trait is not object safe.