[−][src]Enum frame_support::weights::DispatchClass
pub enum DispatchClass {
Normal,
Operational,
Mandatory,
}A generalized group of dispatch types.
Variants
A normal dispatch.
An operational dispatch.
A mandatory dispatch. These kinds of dispatch are always included regardless of their weight, therefore it is critical that they are separately validated to ensure that a malicious validator cannot craft a valid but impossibly heavy block. Usually this just means ensuring that the extrinsic can only be included once and that it is always very light.
Do NOT use it for extrinsics that can be heavy.
The only real use case for this is inherent extrinsics that are required to execute in a block for the block to be valid, and it solves the issue in the case that the block initialization is sufficiently heavy to mean that those inherents do not fit into the block. Essentially, we assume that in these exceptional circumstances, it is better to allow an overweight block to be created than to not allow any block at all to be created.
Trait Implementations
impl Clone for DispatchClass[src][+]
impl Copy for DispatchClass[src]
impl Debug for DispatchClass[src][+]
impl Decode for DispatchClass[src][+]
impl Default for DispatchClass[src][+]
impl<'de> Deserialize<'de> for DispatchClass[src][+]
impl Encode for DispatchClass[src][+]
impl EncodeLike<DispatchClass> for DispatchClass[src]
impl Eq for DispatchClass[src]
impl PartialEq<DispatchClass> for DispatchClass[src][+]
impl Serialize for DispatchClass[src][+]
impl StructuralEq for DispatchClass[src]
impl StructuralPartialEq for DispatchClass[src]
Auto Trait Implementations
impl RefUnwindSafe for DispatchClass
impl Send for DispatchClass
impl Sync for DispatchClass
impl Unpin for DispatchClass
impl UnwindSafe for DispatchClass
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> CheckedConversion for T[src][+]
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized, [src][+]
T: InitializableFromZeroed + ?Sized,
impl<T> Clear for T where
T: PartialEq<T> + Eq + Default, [src][+]
T: PartialEq<T> + Eq + Default,
impl<S> Codec for S where
S: Encode + Decode, [src]
S: Encode + Decode,
impl<T, X> Decode for X where
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>, [src][+]
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
impl<T> DecodeAll for T where
T: Decode, [src][+]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode, [src][+]
T: Decode,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<T, X> Encode for X where
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>, [src][+]
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode, [src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode, [src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode, [src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode, [src]
T: Encode,
impl<T> EncodeLike<Box<T>> for T where
T: Encode, [src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned, [src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode, [src]
T: Encode,
impl<T> From<T> for T[src][+]
impl<S> FullCodec for S where
S: Decode + FullEncode, [src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>, [src]
S: Encode + EncodeLike<S>,
impl<T> InitializableFromZeroed for T where
T: Default, [src][+]
T: Default,
impl<T, U> Into<U> for T where
U: From<T>, [src][+]
U: From<T>,
impl<T> IsType<T> for T[src][+]
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>, [src][+]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T> KeyedVec for T where
T: Codec, [src][+]
T: Codec,
impl<T> MaybeDebug for T where
T: Debug, [src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug, [src]
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,
impl<T> MaybeSerialize for T where
T: Serialize, [src]
T: Serialize,
impl<T> MaybeSerializeDeserialize for T where
T: DeserializeOwned + Serialize, [src]
T: DeserializeOwned + Serialize,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug, [src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Parameter for T where
T: Codec + EncodeLike<T> + Clone + Eq + Debug, [src]
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T[src][+]
impl<T> ToOwned for T where
T: Clone, [src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src][+]
U: TryFrom<T>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src][+]
T: UncheckedFrom<S>,
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded, [src][+]
S: TryInto<T>,
T: Bounded,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src][+]
V: MultiLane<T>,