Struct CheckOrigin
pub struct CheckOrigin<RuntimeOrigin, Inner = NoParams>(pub RuntimeOrigin, pub Inner);Expand description
The CheckOrigin is a strategy that accepts a runtime origin and the Inner strategy.
It is meant to be used when the origin check should be performed
prior to the Inner strategy execution.
The CheckOrigin implements all potentially state-mutating strategies that the Inner
implements.
Tuple Fields§
§0: RuntimeOrigin§1: InnerImplementations§
§impl<RuntimeOrigin, Inner> CheckOrigin<RuntimeOrigin, Inner>where
    Inner: Default,
 
impl<RuntimeOrigin, Inner> CheckOrigin<RuntimeOrigin, Inner>where
    Inner: Default,
pub fn check(origin: RuntimeOrigin) -> CheckOrigin<RuntimeOrigin, Inner>
pub fn check(origin: RuntimeOrigin) -> CheckOrigin<RuntimeOrigin, Inner>
This function creates a CheckOrigin strategy.
The operation that accepts it must check if the provided origin is allowed to perform it.
If so, the operation must, in turn, proceed according to the default value of the Inner
strategy.
§impl<RuntimeOrigin, Inner> CheckOrigin<RuntimeOrigin, Inner>
 
impl<RuntimeOrigin, Inner> CheckOrigin<RuntimeOrigin, Inner>
pub fn new(
    origin: RuntimeOrigin,
    inner: Inner,
) -> CheckOrigin<RuntimeOrigin, Inner>
pub fn new( origin: RuntimeOrigin, inner: Inner, ) -> CheckOrigin<RuntimeOrigin, Inner>
This function creates a CheckOrigin strategy.
The operation that accepts it must check if the provided origin is allowed to perform it.
If so, the operation must, in turn, proceed according to the provided value of the Inner
strategy.
Trait Implementations§
§impl<O, E, S, Op> Create<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
 
impl<O, E, S, Op> Create<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
§fn create(
    strategy: CheckOrigin<O, S>,
) -> Result<<S as CreateStrategy>::Success, DispatchError>
 
fn create( strategy: CheckOrigin<O, S>, ) -> Result<<S as CreateStrategy>::Success, DispatchError>
Create a new asset using the provided 
strategy.§impl<RuntimeOrigin, Inner> CreateStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: CreateStrategy,
 
impl<RuntimeOrigin, Inner> CreateStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: CreateStrategy,
§type Success = <Inner as CreateStrategy>::Success
 
type Success = <Inner as CreateStrategy>::Success
This type represents a successful asset creation.
It will be in the 
Result type of the Create::create function.§impl<O, E, S, Op> Destroy<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
 
impl<O, E, S, Op> Destroy<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
§fn destroy(
    id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id,
    strategy: CheckOrigin<O, S>,
) -> Result<<S as DestroyStrategy>::Success, DispatchError>
 
fn destroy( id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id, strategy: CheckOrigin<O, S>, ) -> Result<<S as DestroyStrategy>::Success, DispatchError>
§impl<RuntimeOrigin, Inner> DestroyStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: DestroyStrategy,
 
impl<RuntimeOrigin, Inner> DestroyStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: DestroyStrategy,
§type Success = <Inner as DestroyStrategy>::Success
 
type Success = <Inner as DestroyStrategy>::Success
This type represents a successful asset destruction.
It will be in the 
Result type of the Destroy::destroy function.§impl<O, E, S, Op> Restore<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
 
impl<O, E, S, Op> Restore<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
§fn restore(
    id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id,
    strategy: CheckOrigin<O, S>,
) -> Result<<S as RestoreStrategy>::Success, DispatchError>
 
fn restore( id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id, strategy: CheckOrigin<O, S>, ) -> Result<<S as RestoreStrategy>::Success, DispatchError>
§impl<RuntimeOrigin, Inner> RestoreStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: RestoreStrategy,
 
impl<RuntimeOrigin, Inner> RestoreStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: RestoreStrategy,
§type Success = <Inner as RestoreStrategy>::Success
 
type Success = <Inner as RestoreStrategy>::Success
This type represents a successful asset restoration.
It will be in the 
Result type of the Restore::restore function.§impl<O, E, S, Op> Stash<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
 
impl<O, E, S, Op> Stash<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
§fn stash(
    id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id,
    strategy: CheckOrigin<O, S>,
) -> Result<<S as StashStrategy>::Success, DispatchError>
 
fn stash( id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id, strategy: CheckOrigin<O, S>, ) -> Result<<S as StashStrategy>::Success, DispatchError>
§impl<RuntimeOrigin, Inner> StashStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: StashStrategy,
 
impl<RuntimeOrigin, Inner> StashStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: StashStrategy,
§type Success = <Inner as StashStrategy>::Success
 
type Success = <Inner as StashStrategy>::Success
This type represents a successful asset stashing.
It will be in the 
Result type of the Stash::stash function.§impl<O, E, S, Op> Update<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
 
impl<O, E, S, Op> Update<CheckOrigin<O, S>> for UseEnsuredOrigin<E, Op>
§fn update(
    id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id,
    strategy: CheckOrigin<O, S>,
    update_value: <S as UpdateStrategy>::UpdateValue<'_>,
) -> Result<<S as UpdateStrategy>::Success, DispatchError>
 
fn update( id: &<UseEnsuredOrigin<E, Op> as AssetDefinition>::Id, strategy: CheckOrigin<O, S>, update_value: <S as UpdateStrategy>::UpdateValue<'_>, ) -> Result<<S as UpdateStrategy>::Success, DispatchError>
Update the state information of the asset
using the given 
id, the update strategy, and the strategy’s update_value. Read more§impl<RuntimeOrigin, Inner> UpdateStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: UpdateStrategy,
 
impl<RuntimeOrigin, Inner> UpdateStrategy for CheckOrigin<RuntimeOrigin, Inner>where
    Inner: UpdateStrategy,
§type UpdateValue<'u> = <Inner as UpdateStrategy>::UpdateValue<'u>
 
type UpdateValue<'u> = <Inner as UpdateStrategy>::UpdateValue<'u>
The value to update the asset’s state.
Usually, it should be related to the corresponding 
InspectStrategy::Value. Read more§type Success = <Inner as UpdateStrategy>::Success
 
type Success = <Inner as UpdateStrategy>::Success
This type represents a successful asset state update.
It will be in the 
Result type of the Update::update function.Auto Trait Implementations§
impl<RuntimeOrigin, Inner> Freeze for CheckOrigin<RuntimeOrigin, Inner>
impl<RuntimeOrigin, Inner> RefUnwindSafe for CheckOrigin<RuntimeOrigin, Inner>where
    RuntimeOrigin: RefUnwindSafe,
    Inner: RefUnwindSafe,
impl<RuntimeOrigin, Inner> Send for CheckOrigin<RuntimeOrigin, Inner>
impl<RuntimeOrigin, Inner> Sync for CheckOrigin<RuntimeOrigin, Inner>
impl<RuntimeOrigin, Inner> Unpin for CheckOrigin<RuntimeOrigin, Inner>
impl<RuntimeOrigin, Inner> UnwindSafe for CheckOrigin<RuntimeOrigin, Inner>where
    RuntimeOrigin: UnwindSafe,
    Inner: UnwindSafe,
Blanket Implementations§
§impl<T> AsCanUpdate for Twhere
    T: UpdateStrategy,
 
impl<T> AsCanUpdate for Twhere
    T: UpdateStrategy,
fn as_can_update(self) -> CanUpdate<T>
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> Conv for T
 
impl<T> Conv for T
§impl<T, U> DefensiveTruncateInto<U> for Twhere
    U: DefensiveTruncateFrom<T>,
 
impl<T, U> DefensiveTruncateInto<U> for Twhere
    U: DefensiveTruncateFrom<T>,
§fn defensive_truncate_into(self) -> U
 
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
§impl<T> FmtForward for T
 
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
 
fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
Causes 
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
 
fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
Causes 
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
 
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
Causes 
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
 
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
Causes 
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
 
fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
Causes 
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
 
fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
Causes 
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
 
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
Causes 
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
 
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
Causes 
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
 
fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§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, Outer> IsWrappedBy<Outer> for T
 
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pipe for Twhere
    T: ?Sized,
 
impl<T> Pipe for Twhere
    T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
 
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
Borrows 
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
Mutably borrows 
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
 
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
    &'a mut self,
    func: impl FnOnce(&'a mut B) -> R,
) -> R
 
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
 
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows 
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
 
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows 
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
 
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows 
self, then passes self.deref() into the pipe function.§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<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct 
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
Checks if 
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
Use with care! Same as 
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
The inclusion map: converts 
self to the equivalent element of its superset.§impl<T> Tap for T
 
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the 
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the 
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the 
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the 
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the 
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
 
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the 
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
 
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls 
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
 
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls 
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls 
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls 
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls 
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls 
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls 
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
 
impl<T> TryConv for T
§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.