pub trait Function: Sized {
    const NAME: &'static str;

    // Required methods
    fn match_call(log: &Call) -> bool;
    fn decode(log: &Call) -> Result<Self, String>;
    fn encode(&self) -> Vec<u8>;

    // Provided method
    fn match_and_decode(call: impl AsRef<Call>) -> Option<Self> { ... }
}

Required Associated Constants§

source

const NAME: &'static str

Required Methods§

source

fn match_call(log: &Call) -> bool

source

fn decode(log: &Call) -> Result<Self, String>

source

fn encode(&self) -> Vec<u8>

Provided Methods§

source

fn match_and_decode(call: impl AsRef<Call>) -> Option<Self>

Attempts to match and decode the call. If Self::match_call(log) is false, returns None. If it matches, but decoding fails, logs the decoding error and returns None.

Object Safety§

This trait is not object safe.

Implementors§