pub(crate) fn dispatch_call<T>(
calldata: &[u8],
hardforks: &[SelectorSchedule<'_>],
decode: impl FnOnce(&[u8]) -> Result<T, Error>,
f: impl FnOnce(T) -> PrecompileResult,
) -> PrecompileResultExpand 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).