pub trait EventTopic: SolType {
    // Required methods
    fn topic_preimage_length(rust: &Self::RustType) -> usize;
    fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>);
    fn encode_topic(rust: &Self::RustType) -> WordToken;
}
Expand description

A Solidity event topic.

These types implement a special encoding used only in Solidity indexed event parameters.

For more details, see the Solidity reference.

Implementer’s Guide

It should not be necessary to implement this trait manually. Instead, use the sol! procedural macro to parse Solidity syntax into types that implement this trait.

Required Methods§

source

fn topic_preimage_length(rust: &Self::RustType) -> usize

The number of bytes this type occupies in another topic’s preimage, usually a multiple of 32.

This should be used in conjunction with encode_topic_preimage to construct the preimage of a complex topic.

source

fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)

Encodes this type as preimage bytes which are then hashed in complex types’ encode_topic.

See the Solidity ABI spec for more details.

source

fn encode_topic(rust: &Self::RustType) -> WordToken

Indexed event parameter encoding.

Note that this is different from encode_topic_preimage and SolType::abi_encode. See the Solidity ABI spec for more details.

Implementations on Foreign Types§

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic> EventTopic for (T1, T2, T3)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic, T20: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic, T20: EventTopic, T21: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic> EventTopic for (T1, T2, T3, T4)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic, T20: EventTopic, T21: EventTopic, T22: EventTopic, T23: EventTopic, T24: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)

source§

impl<T1: EventTopic> EventTopic for (T1,)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6)

source§

impl<T1: EventTopic, T2: EventTopic> EventTopic for (T1, T2)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic, T20: EventTopic, T21: EventTopic, T22: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic, T20: EventTopic, T21: EventTopic, T22: EventTopic, T23: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)

source§

impl EventTopic for ()

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic> EventTopic for (T1, T2, T3, T4, T5)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic, T13: EventTopic, T14: EventTopic, T15: EventTopic, T16: EventTopic, T17: EventTopic, T18: EventTopic, T19: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

source§

impl<T1: EventTopic, T2: EventTopic, T3: EventTopic, T4: EventTopic, T5: EventTopic, T6: EventTopic, T7: EventTopic, T8: EventTopic, T9: EventTopic, T10: EventTopic, T11: EventTopic, T12: EventTopic> EventTopic for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Implementors§