Skip to main content

dispatch_call

Function dispatch_call 

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

Decodes calldata via decode, then dispatches to f.

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

Gas accounting is applied via fill_precompile_output.