pub struct BalanceTransferCheckExtension<Runtime>(/* private fields */);Expand description
Disable balance transfers, if configured in the runtime.
Trait Implementations§
Source§impl<Runtime> Clone for BalanceTransferCheckExtension<Runtime>where
    Runtime: Clone,
 
impl<Runtime> Clone for BalanceTransferCheckExtension<Runtime>where
    Runtime: Clone,
Source§fn clone(&self) -> BalanceTransferCheckExtension<Runtime>
 
fn clone(&self) -> BalanceTransferCheckExtension<Runtime>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl<Runtime> Debug for BalanceTransferCheckExtension<Runtime>where
    Runtime: Debug,
 
impl<Runtime> Debug for BalanceTransferCheckExtension<Runtime>where
    Runtime: Debug,
Source§impl<Runtime> Decode for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: Decode,
 
impl<Runtime> Decode for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: Decode,
Source§fn decode<__CodecInputEdqy>(
    __codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<BalanceTransferCheckExtension<Runtime>, Error>where
    __CodecInputEdqy: Input,
 
fn decode<__CodecInputEdqy>(
    __codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<BalanceTransferCheckExtension<Runtime>, Error>where
    __CodecInputEdqy: Input,
Attempt to deserialise the value from input.
§fn decode_into<I>(
    input: &mut I,
    dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
    I: Input,
 
fn decode_into<I>(
    input: &mut I,
    dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
    I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
    I: Input,
 
fn skip<I>(input: &mut I) -> Result<(), Error>where
    I: 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
Source§impl<Runtime> Default for BalanceTransferCheckExtension<Runtime>where
    Runtime: BalanceTransferChecks + Config,
    <Runtime as Config>::RuntimeCall: MaybeBalancesCall<Runtime> + MaybeNestedCall<Runtime>,
 
impl<Runtime> Default for BalanceTransferCheckExtension<Runtime>where
    Runtime: BalanceTransferChecks + Config,
    <Runtime as Config>::RuntimeCall: MaybeBalancesCall<Runtime> + MaybeNestedCall<Runtime>,
Source§fn default() -> BalanceTransferCheckExtension<Runtime>
 
fn default() -> BalanceTransferCheckExtension<Runtime>
Returns the “default value” for a type. Read more
Source§impl<Runtime> Encode for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: Encode,
 
impl<Runtime> Encode for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: Encode,
Source§fn size_hint(&self) -> usize
 
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy>(
    &self,
    __codec_dest_edqy: &mut __CodecOutputEdqy,
)where
    __CodecOutputEdqy: Output + ?Sized,
 
fn encode_to<__CodecOutputEdqy>(
    &self,
    __codec_dest_edqy: &mut __CodecOutputEdqy,
)where
    __CodecOutputEdqy: Output + ?Sized,
Convert self to a slice and append it to the destination.
Source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>(
    &self,
    f: __CodecUsingEncodedCallback,
) -> __CodecOutputReturn
 
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
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
Source§impl<Runtime> PartialEq for BalanceTransferCheckExtension<Runtime>where
    Runtime: PartialEq,
 
impl<Runtime> PartialEq for BalanceTransferCheckExtension<Runtime>where
    Runtime: PartialEq,
Source§fn eq(&self, other: &BalanceTransferCheckExtension<Runtime>) -> bool
 
fn eq(&self, other: &BalanceTransferCheckExtension<Runtime>) -> bool
Tests for 
self and other values to be equal, and is used by ==.Source§impl<Runtime> TransactionExtension<<Runtime as Config>::RuntimeCall> for BalanceTransferCheckExtension<Runtime>where
    Runtime: Config + Config + TypeInfo + Debug + Send + Sync + BalanceTransferChecks,
    <<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<<Runtime as Config>::AccountId> + Clone,
    <Runtime as Config>::RuntimeCall: MaybeBalancesCall<Runtime> + MaybeNestedCall<Runtime>,
 
impl<Runtime> TransactionExtension<<Runtime as Config>::RuntimeCall> for BalanceTransferCheckExtension<Runtime>where
    Runtime: Config + Config + TypeInfo + Debug + Send + Sync + BalanceTransferChecks,
    <<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<<Runtime as Config>::AccountId> + Clone,
    <Runtime as Config>::RuntimeCall: MaybeBalancesCall<Runtime> + MaybeNestedCall<Runtime>,
Source§const IDENTIFIER: &'static str = "BalanceTransferCheckExtension"
 
const IDENTIFIER: &'static str = "BalanceTransferCheckExtension"
Unique identifier of this signed extension. Read more
Source§type Implicit = ()
 
type Implicit = ()
Any additional data which was known at the time of transaction construction and can be
useful in authenticating the transaction. This is determined dynamically in part from the
on-chain environment using the 
implicit function and not directly contained in the
transaction itself and therefore is considered “implicit”.Source§type Pre = Pre
 
type Pre = Pre
The type that encodes information that can be passed from 
prepare to post_dispatch.Source§fn weight(&self, _call: &<Runtime as Config>::RuntimeCall) -> Weight
 
fn weight(&self, _call: &<Runtime as Config>::RuntimeCall) -> Weight
The weight consumed by executing this extension instance fully during transaction dispatch.
Source§fn validate(
    &self,
    origin: <Runtime as Config>::RuntimeOrigin,
    call: &<Runtime as Config>::RuntimeCall,
    _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info,
    _len: usize,
    _self_implicit: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Implicit,
    _inherited_implication: &impl Encode,
    _source: TransactionSource,
) -> Result<(ValidTransaction, <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Val, <<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin), TransactionValidityError>
 
fn validate( &self, origin: <Runtime as Config>::RuntimeOrigin, call: &<Runtime as Config>::RuntimeCall, _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info, _len: usize, _self_implicit: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Implicit, _inherited_implication: &impl Encode, _source: TransactionSource, ) -> Result<(ValidTransaction, <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Val, <<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin), TransactionValidityError>
Validate a transaction for the transaction queue. Read more
Source§fn prepare(
    self,
    val: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Val,
    _origin: &<<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin,
    _call: &<Runtime as Config>::RuntimeCall,
    _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info,
    _len: usize,
) -> Result<<BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Pre, TransactionValidityError>
 
fn prepare( self, val: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Val, _origin: &<<Runtime as Config>::RuntimeCall as Dispatchable>::RuntimeOrigin, _call: &<Runtime as Config>::RuntimeCall, _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info, _len: usize, ) -> Result<<BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Pre, TransactionValidityError>
Do any pre-flight stuff for a transaction after validation. Read more
Source§fn post_dispatch_details(
    pre: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Pre,
    _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info,
    _post_info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::PostInfo,
    _len: usize,
    _result: &Result<(), DispatchError>,
) -> Result<Weight, TransactionValidityError>
 
fn post_dispatch_details( pre: <BalanceTransferCheckExtension<Runtime> as TransactionExtension<<Runtime as Config>::RuntimeCall>>::Pre, _info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::Info, _post_info: &<<Runtime as Config>::RuntimeCall as Dispatchable>::PostInfo, _len: usize, _result: &Result<(), DispatchError>, ) -> Result<Weight, TransactionValidityError>
Do any post-flight stuff for an extrinsic. Read more
§fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError>
 
fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError>
Determine any additional data which was known at the time of transaction construction and
can be useful in authenticating the transaction. The expected usage of this is to include in
any data which is signed and verified as part of transaction validation. Also perform any
pre-signature-verification checks and return an error if needed.
§fn metadata() -> Vec<TransactionExtensionMetadata>
 
fn metadata() -> Vec<TransactionExtensionMetadata>
Returns the metadata for this extension. Read more
§fn post_dispatch(
    pre: Self::Pre,
    info: &<Call as Dispatchable>::Info,
    post_info: &mut <Call as Dispatchable>::PostInfo,
    len: usize,
    result: &Result<(), DispatchError>,
) -> Result<(), TransactionValidityError>
 
fn post_dispatch( pre: Self::Pre, info: &<Call as Dispatchable>::Info, post_info: &mut <Call as Dispatchable>::PostInfo, len: usize, result: &Result<(), DispatchError>, ) -> Result<(), TransactionValidityError>
A wrapper for 
post_dispatch_details that
refunds the unspent weight consumed by this extension into the post dispatch information. Read more§fn bare_validate(
    _call: &Call,
    _info: &<Call as Dispatchable>::Info,
    _len: usize,
) -> Result<ValidTransaction, TransactionValidityError>
 
fn bare_validate( _call: &Call, _info: &<Call as Dispatchable>::Info, _len: usize, ) -> Result<ValidTransaction, TransactionValidityError>
Validation logic for bare extrinsics. Read more
Source§impl<Runtime> TypeInfo for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: TypeInfo + 'static,
    Runtime: TypeInfo + 'static,
 
impl<Runtime> TypeInfo for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: TypeInfo + 'static,
    Runtime: TypeInfo + 'static,
impl<Runtime> EncodeLike for BalanceTransferCheckExtension<Runtime>where
    PhantomData<Runtime>: Encode,
impl<Runtime> Eq for BalanceTransferCheckExtension<Runtime>where
    Runtime: Eq,
impl<Runtime> StructuralPartialEq for BalanceTransferCheckExtension<Runtime>
Auto Trait Implementations§
impl<Runtime> Freeze for BalanceTransferCheckExtension<Runtime>
impl<Runtime> RefUnwindSafe for BalanceTransferCheckExtension<Runtime>where
    Runtime: RefUnwindSafe,
impl<Runtime> Send for BalanceTransferCheckExtension<Runtime>where
    Runtime: Send,
impl<Runtime> Sync for BalanceTransferCheckExtension<Runtime>where
    Runtime: Sync,
impl<Runtime> Unpin for BalanceTransferCheckExtension<Runtime>where
    Runtime: Unpin,
impl<Runtime> UnwindSafe for BalanceTransferCheckExtension<Runtime>where
    Runtime: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
 
fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
 
fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
§impl<T> Clear for T
 
impl<T> Clear for T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> DecodeAll for Twhere
    T: Decode,
 
impl<T> DecodeAll for Twhere
    T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
 
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode 
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
    T: Decode,
 
impl<T> DecodeLimit for Twhere
    T: Decode,
§impl<T, Call> DispatchTransaction<Call> for Twhere
    T: TransactionExtension<Call>,
    Call: Dispatchable + Encode,
    <Call as Dispatchable>::RuntimeOrigin: AsTransactionAuthorizedOrigin,
 
impl<T, Call> DispatchTransaction<Call> for Twhere
    T: TransactionExtension<Call>,
    Call: Dispatchable + Encode,
    <Call as Dispatchable>::RuntimeOrigin: AsTransactionAuthorizedOrigin,
§type Result = Result<Result<<Call as Dispatchable>::PostInfo, DispatchErrorWithPostInfo<<Call as Dispatchable>::PostInfo>>, TransactionValidityError>
 
type Result = Result<Result<<Call as Dispatchable>::PostInfo, DispatchErrorWithPostInfo<<Call as Dispatchable>::PostInfo>>, TransactionValidityError>
The resultant type.
§fn validate_only(
    &self,
    origin: <T as DispatchTransaction<Call>>::Origin,
    call: &Call,
    info: &<Call as Dispatchable>::Info,
    len: usize,
    source: TransactionSource,
    extension_version: u8,
) -> Result<(ValidTransaction, <T as TransactionExtension<Call>>::Val, <T as DispatchTransaction<Call>>::Origin), TransactionValidityError>
 
fn validate_only( &self, origin: <T as DispatchTransaction<Call>>::Origin, call: &Call, info: &<Call as Dispatchable>::Info, len: usize, source: TransactionSource, extension_version: u8, ) -> Result<(ValidTransaction, <T as TransactionExtension<Call>>::Val, <T as DispatchTransaction<Call>>::Origin), TransactionValidityError>
Just validate a transaction. Read more
§fn validate_and_prepare(
    self,
    origin: <T as DispatchTransaction<Call>>::Origin,
    call: &Call,
    info: &<Call as Dispatchable>::Info,
    len: usize,
    extension_version: u8,
) -> Result<(<T as TransactionExtension<Call>>::Pre, <T as DispatchTransaction<Call>>::Origin), TransactionValidityError>
 
fn validate_and_prepare( self, origin: <T as DispatchTransaction<Call>>::Origin, call: &Call, info: &<Call as Dispatchable>::Info, len: usize, extension_version: u8, ) -> Result<(<T as TransactionExtension<Call>>::Pre, <T as DispatchTransaction<Call>>::Origin), TransactionValidityError>
Validate and prepare a transaction, ready for dispatch.
§fn dispatch_transaction(
    self,
    origin: <Call as Dispatchable>::RuntimeOrigin,
    call: Call,
    info: &<Call as Dispatchable>::Info,
    len: usize,
    extension_version: u8,
) -> <T as DispatchTransaction<Call>>::Result
 
fn dispatch_transaction( self, origin: <Call as Dispatchable>::RuntimeOrigin, call: Call, info: &<Call as Dispatchable>::Info, len: usize, extension_version: u8, ) -> <T as DispatchTransaction<Call>>::Result
Dispatch a transaction with the given base origin and call.
§fn test_run(
    self,
    origin: <T as DispatchTransaction<Call>>::Origin,
    call: &Call,
    info: &<T as DispatchTransaction<Call>>::Info,
    len: usize,
    extension_version: u8,
    substitute: impl FnOnce(<T as DispatchTransaction<Call>>::Origin) -> Result<<Call as Dispatchable>::PostInfo, DispatchErrorWithPostInfo<<Call as Dispatchable>::PostInfo>>,
) -> <T as DispatchTransaction<Call>>::Result
 
fn test_run( self, origin: <T as DispatchTransaction<Call>>::Origin, call: &Call, info: &<T as DispatchTransaction<Call>>::Info, len: usize, extension_version: u8, substitute: impl FnOnce(<T as DispatchTransaction<Call>>::Origin) -> Result<<Call as Dispatchable>::PostInfo, DispatchErrorWithPostInfo<<Call as Dispatchable>::PostInfo>>, ) -> <T as DispatchTransaction<Call>>::Result
Do everything which would be done in a dispatch_transaction,
but instead of executing the call, execute 
substitute instead. Since this doesn’t actually
dispatch the call, it doesn’t need to consume it and so call can be passed as a reference.§impl<T> EncodeInto for Twhere
    T: Encode,
 
impl<T> EncodeInto for Twhere
    T: Encode,
fn encode_into<T, H>(&self) -> T
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.§impl<T> FullLeaf for T
 
impl<T> FullLeaf for T
§impl<T> Hashable for Twhere
    T: Codec,
 
impl<T> Hashable for Twhere
    T: Codec,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
    Dest: FromTuple<Src>,
 
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
    Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T> IsType<T> for T
 
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
 
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> KeyedVec for Twhere
    T: Codec,
 
impl<T> KeyedVec for Twhere
    T: Codec,
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of 
T. Read more§impl<T, U> TryIntoKey<U> for Twhere
    U: TryFromKey<T>,
 
impl<T, U> TryIntoKey<U> for Twhere
    U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
The counterpart to 
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
 
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of 
T.