mod check_coldkey_swap; mod check_delegate_take; mod check_evm_key_association; mod check_rate_limits; mod check_serving_endpoints; mod check_weights; use crate::{Call, Config}; use frame_support::traits::IsSubType; use sp_runtime::traits::Dispatchable; pub use check_coldkey_swap::*; pub use check_delegate_take::*; pub use check_evm_key_association::*; pub use check_rate_limits::*; pub use check_serving_endpoints::*; pub use check_weights::*; pub(crate) type CallOf = ::RuntimeCall; pub(crate) type DispatchableOriginOf = as Dispatchable>::RuntimeOrigin; pub(crate) fn applicable_call( call: &CallOf, applies_to: impl FnOnce(&Call) -> bool, ) -> Option<&Call> where T: Config, CallOf: IsSubType>, { let call = call.is_sub_type()?; applies_to(call).then_some(call) }