Trait ink_env::Event

source ·
pub trait Event: Encode {
    type RemainingTopics: EventTopicsAmount;

    const SIGNATURE_TOPIC: Option<[u8; 32]>;

    // Required method
    fn topics<E, B>(
        &self,
        builder: TopicsBuilder<Uninit, E, B>,
    ) -> <B as TopicsBuilderBackend<E>>::Output
       where E: Environment,
             B: TopicsBuilderBackend<E>;
}
Expand description

Implemented by event types to guide the event topic serialization using the topics builder.

Normally this trait should be implemented automatically via #[derive(ink::Event).

Required Associated Types§

source

type RemainingTopics: EventTopicsAmount

Type state indicating how many event topics are to be expected by the topics builder.

Required Associated Constants§

source

const SIGNATURE_TOPIC: Option<[u8; 32]>

The unique signature topic of the event. None for anonymous events.

It can be automatically calculated or manually specified.

Usually this is calculated using the #[derive(ink::Event)] derive, which by default calculates this as blake2b("Event(field1_type,field2_type)"

Required Methods§

source

fn topics<E, B>( &self, builder: TopicsBuilder<Uninit, E, B>, ) -> <B as TopicsBuilderBackend<E>>::Output
where E: Environment, B: TopicsBuilderBackend<E>,

Guides event topic serialization using the given topics builder.

Object Safety§

This trait is not object safe.

Implementors§