Skip to main content

dispatch_call

Function dispatch_call 

Source
pub(crate) fn dispatch_call<T>(
    calldata: &[u8],
    hardforks: &[SelectorSchedule<'_>],
    decode: impl FnOnce(&[u8]) -> Result<T, Error>,
    f: impl FnOnce(T) -> PrecompileResult,
) -> PrecompileResult
Expand description

Applies hardfork selector schedules, decodes calldata via decode, then dispatches to f.

Handles missing selectors (revert on T1+, error on earlier forks), hardfork-gated selectors, unknown selectors (ABI-encoded UnknownFunctionSelector), and malformed ABI data (empty revert).