Struct frame_system::CheckWeight [−][src]
Expand description
Block resource (weight) limit check.
Implementations
impl<T: Config + Send + Sync> CheckWeight<T> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
impl<T: Config + Send + Sync> CheckWeight<T> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
pub fn do_pre_dispatch(
info: &DispatchInfoOf<T::Call>,
len: usize
) -> Result<(), TransactionValidityError>
pub fn do_pre_dispatch(
info: &DispatchInfoOf<T::Call>,
len: usize
) -> Result<(), TransactionValidityError>
Do the pre-dispatch checks. This can be applied to both signed and unsigned.
It checks and notes the new weight and length.
Do the validate checks. This can be applied to both signed and unsigned.
It only checks that the block weight and length limit will not exceed.
Trait Implementations
impl<T: Config + Send + Sync> Decode for CheckWeight<T> where
PhantomData<T>: Decode,
PhantomData<T>: Decode,
impl<T: Config + Send + Sync> Decode for CheckWeight<T> where
PhantomData<T>: Decode,
PhantomData<T>: Decode,
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
Returns the “default value” for a type. Read more
impl<T: Config + Send + Sync> Encode for CheckWeight<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
impl<T: Config + Send + Sync> Encode for CheckWeight<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
Convert self to a slice and append it to the destination.
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<T: Config + Send + Sync> SignedExtension for CheckWeight<T> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
impl<T: Config + Send + Sync> SignedExtension for CheckWeight<T> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
type AdditionalSigned = ()
type AdditionalSigned = ()
Any additional data that will go into the signed payload. This may be created dynamically
from the transaction using the additional_signed
function. Read more
The type that encodes information that can be passed from pre_dispatch to post-dispatch.
Unique identifier of this signed extension. Read more
Construct any additional data that should be in the signed payload of the transaction. Can also perform any pre-signature-verification checks and return an error if needed. Read more
fn pre_dispatch(
self,
_who: &Self::AccountId,
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> Result<(), TransactionValidityError>
fn pre_dispatch(
self,
_who: &Self::AccountId,
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> Result<(), TransactionValidityError>
Do any pre-flight stuff for a signed transaction. Read more
fn validate(
&self,
_who: &Self::AccountId,
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity
fn validate(
&self,
_who: &Self::AccountId,
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity
Validate a signed transaction for the transaction queue. Read more
fn pre_dispatch_unsigned(
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> Result<(), TransactionValidityError>
fn pre_dispatch_unsigned(
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> Result<(), TransactionValidityError>
Do any pre-flight stuff for a unsigned transaction. Read more
fn validate_unsigned(
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity
fn validate_unsigned(
_call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity
Validate an unsigned transaction for the transaction queue. Read more
fn post_dispatch(
_pre: Self::Pre,
info: &DispatchInfoOf<Self::Call>,
post_info: &PostDispatchInfoOf<Self::Call>,
_len: usize,
result: &DispatchResult
) -> Result<(), TransactionValidityError>
fn post_dispatch(
_pre: Self::Pre,
info: &DispatchInfoOf<Self::Call>,
post_info: &PostDispatchInfoOf<Self::Call>,
_len: usize,
result: &DispatchResult
) -> Result<(), TransactionValidityError>
Do any post-flight stuff for an extrinsic. Read more
impl<T: Config + Send + Sync> EncodeLike<CheckWeight<T>> for CheckWeight<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
Auto Trait Implementations
impl<T> RefUnwindSafe for CheckWeight<T> where
T: RefUnwindSafe,
impl<T> Send for CheckWeight<T>
impl<T> Sync for CheckWeight<T>
impl<T> Unpin for CheckWeight<T> where
T: Unpin,
impl<T> UnwindSafe for CheckWeight<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,