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§

source

fn module_name(&self) -> &str

Name of the module that emitted the event.

source

fn code(&self) -> u32

Code uniquely identifying the event.

Provided Methods§

source

fn into_raw(self) -> Event

Converts an event into the raw event type that can be emitted from the contract.

Implementations on Foreign Types§

source§

impl Event for Event

source§

fn module_name(&self) -> &str

source§

fn code(&self) -> u32

source§

fn into_raw(self) -> Event

Implementors§