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§
sourcetype RemainingTopics: EventTopicsAmount
type RemainingTopics: EventTopicsAmount
Type state indicating how many event topics are to be expected by the topics builder.
Required Associated Constants§
sourceconst SIGNATURE_TOPIC: Option<[u8; 32]>
const SIGNATURE_TOPIC: Option<[u8; 32]>
The unique signature topic of the event. None
for anonymous events.
Usually this is calculated using the #[derive(ink::Event)]
derive, which by
default calculates this as blake2b("Event(field1_type,field2_type)")
Required Methods§
sourcefn topics<E, B>(
&self,
builder: TopicsBuilder<Uninit, E, B>
) -> <B as TopicsBuilderBackend<E>>::Outputwhere
E: Environment,
B: TopicsBuilderBackend<E>,
fn topics<E, B>( &self, builder: TopicsBuilder<Uninit, E, B> ) -> <B as TopicsBuilderBackend<E>>::Outputwhere E: Environment, B: TopicsBuilderBackend<E>,
Guides event topic serialization using the given topics builder.