pub trait OriginTrait: Sized {
    type Call;
    type PalletsOrigin: Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen;
    type AccountId;

    // 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 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 as_signed(self) -> Option<Self::AccountId> { ... }
    fn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>> { ... }
}
Expand description

Methods available on frame_system::Config::RuntimeOrigin.

Required Associated Types§

source

type Call

Runtime call type, as in frame_system::Config::Call

source

type PalletsOrigin: Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen

The caller origin, overarching type of all pallets origins.

source

type AccountId

The AccountId used across the system.

Required Methods§

source

fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static)

Add a filter to the origin.

source

fn reset_filter(&mut self)

Reset origin filters to default one, i.e frame_system::Config::BaseCallFilter.

source

fn set_caller_from(&mut self, other: impl Into<Self>)

Replace the caller with caller from the other origin

source

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.

source

fn caller(&self) -> &Self::PalletsOrigin

Get a reference to the caller (CallerTrait impl).

source

fn into_caller(self) -> Self::PalletsOrigin

Consume self and return the caller.

source

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.

source

fn none() -> Self

Create with system none origin and frame_system::Config::BaseCallFilter.

source

fn root() -> Self

Create with system root origin and frame_system::Config::BaseCallFilter.

source

fn signed(by: Self::AccountId) -> Self

Create with system signed origin and frame_system::Config::BaseCallFilter.

Provided Methods§

source

fn as_signed(self) -> Option<Self::AccountId>

Extract the signer from the message if it is a Signed origin.

source

fn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>>

Extract a reference to the sytsem origin, if that’s what the caller is.

Implementors§