Trait frame_support::traits::OriginTrait
source · pub trait OriginTrait: Sized {
type Call;
type PalletsOrigin: Send + Sync + Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen;
type AccountId;
Show 16 methods
// Required methods
fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static);
fn reset_filter(&mut self);
fn set_caller_from(&mut self, other: impl Into<Self>);
fn set_caller(&mut self, caller: Self::PalletsOrigin);
fn filter_call(&self, call: &Self::Call) -> bool;
fn caller(&self) -> &Self::PalletsOrigin;
fn into_caller(self) -> Self::PalletsOrigin;
fn try_with_caller<R>(
self,
f: impl FnOnce(Self::PalletsOrigin) -> Result<R, Self::PalletsOrigin>,
) -> Result<R, Self>;
fn none() -> Self;
fn root() -> Self;
fn signed(by: Self::AccountId) -> Self;
// Provided methods
fn set_caller_from_signed(&mut self, caller_account: Self::AccountId) { ... }
fn as_signed(self) -> Option<Self::AccountId> { ... }
fn into_signer(self) -> Option<Self::AccountId> { ... }
fn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>> { ... }
fn as_signer(&self) -> Option<&Self::AccountId> { ... }
}
Expand description
Methods available on frame_system::Config::RuntimeOrigin
.
Required Associated Types§
sourcetype PalletsOrigin: Send + Sync + Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen
type PalletsOrigin: Send + Sync + Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen
The caller origin, overarching type of all pallets origins.
Required Methods§
sourcefn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static)
fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static)
Add a filter to the origin.
sourcefn reset_filter(&mut self)
fn reset_filter(&mut self)
Reset origin filters to default one, i.e frame_system::1fig::BaseCallFilter
.
sourcefn set_caller_from(&mut self, other: impl Into<Self>)
fn set_caller_from(&mut self, other: impl Into<Self>)
Replace the caller with caller from the other origin
sourcefn set_caller(&mut self, caller: Self::PalletsOrigin)
fn set_caller(&mut self, caller: Self::PalletsOrigin)
Replace the caller with caller from the other origin
sourcefn filter_call(&self, call: &Self::Call) -> bool
fn filter_call(&self, call: &Self::Call) -> bool
Filter the call if caller is not root, if false is returned then the call must be filtered out.
For root origin caller, the filters are bypassed and true is returned.
sourcefn caller(&self) -> &Self::PalletsOrigin
fn caller(&self) -> &Self::PalletsOrigin
Get a reference to the caller (CallerTrait
impl).
sourcefn into_caller(self) -> Self::PalletsOrigin
fn into_caller(self) -> Self::PalletsOrigin
Consume self
and return the caller.
sourcefn try_with_caller<R>(
self,
f: impl FnOnce(Self::PalletsOrigin) -> Result<R, Self::PalletsOrigin>,
) -> Result<R, Self>
fn try_with_caller<R>( self, f: impl FnOnce(Self::PalletsOrigin) -> Result<R, Self::PalletsOrigin>, ) -> Result<R, Self>
Do something with the caller, consuming self but returning it if the caller was unused.
Provided Methods§
sourcefn set_caller_from_signed(&mut self, caller_account: Self::AccountId)
fn set_caller_from_signed(&mut self, caller_account: Self::AccountId)
Replace the caller with caller from the other origin
sourcefn as_signed(self) -> Option<Self::AccountId>
👎Deprecated: Use into_signer
instead
fn as_signed(self) -> Option<Self::AccountId>
into_signer
insteadExtract the signer from the message if it is a Signed
origin.
sourcefn into_signer(self) -> Option<Self::AccountId>
fn into_signer(self) -> Option<Self::AccountId>
Extract the signer from the message if it is a Signed
origin.
sourcefn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>>
fn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>>
Extract a reference to the system origin, if that’s what the caller is.