Enum pallet_proxy::Call[][src]

pub enum Call<T: Config> {
    proxy(T::AccountIdOption<T::ProxyType>, Box<<T as Config>::Call>),
    add_proxy(T::AccountId, T::ProxyType, T::BlockNumber),
    remove_proxy(T::AccountId, T::ProxyType, T::BlockNumber),
    remove_proxies(),
    anonymous(T::ProxyType, T::BlockNumberu16),
    kill_anonymous(T::AccountId, T::ProxyTypeu16, T::BlockNumberu32),
    announce(T::AccountId, <<T as Config>::CallHasher as Hash>::Output),
    remove_announcement(T::AccountId, <<T as Config>::CallHasher as Hash>::Output),
    reject_announcement(T::AccountId, <<T as Config>::CallHasher as Hash>::Output),
    proxy_announced(T::AccountId, T::AccountIdOption<T::ProxyType>, Box<<T as Config>::Call>),
    // some variants omitted
}

Dispatchable calls.

Each variant of this enum maps to a dispatchable function from the associated module.

Variants

proxy(T::AccountIdOption<T::ProxyType>, Box<<T as Config>::Call>)

Dispatch the given call from an account that the sender is authorised for through add_proxy.

Removes any corresponding announcement(s).

The dispatch origin for this call must be Signed.

Parameters:

  • real: The account that the proxy will make a call on behalf of.
  • force_proxy_type: Specify the exact proxy type to be used and checked for this call.
  • call: The call to be made by the real account.

Weight is a function of the number of proxies the user has (P).

add_proxy(T::AccountId, T::ProxyType, T::BlockNumber)

Register a proxy account for the sender that is able to make calls on its behalf.

The dispatch origin for this call must be Signed.

Parameters:

  • proxy: The account that the caller would like to make a proxy.
  • proxy_type: The permissions allowed for this proxy account.
  • delay: The announcement period required of the initial proxy. Will generally be zero.

Weight is a function of the number of proxies the user has (P).

remove_proxy(T::AccountId, T::ProxyType, T::BlockNumber)

Unregister a proxy account for the sender.

The dispatch origin for this call must be Signed.

Parameters:

  • proxy: The account that the caller would like to remove as a proxy.
  • proxy_type: The permissions currently enabled for the removed proxy account.

Weight is a function of the number of proxies the user has (P).

remove_proxies()

Unregister all proxy accounts for the sender.

The dispatch origin for this call must be Signed.

WARNING: This may be called on accounts created by anonymous, however if done, then the unreserved fees will be inaccessible. All access to this account will be lost.

Weight is a function of the number of proxies the user has (P).

anonymous(T::ProxyType, T::BlockNumberu16)

Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and initialize it with a proxy of proxy_type for origin sender.

Requires a Signed origin.

  • proxy_type: The type of the proxy that the sender will be registered as over the new account. This will almost always be the most permissive ProxyType possible to allow for maximum flexibility.
  • index: A disambiguation index, in case this is called multiple times in the same transaction (e.g. with utility::batch). Unless you're using batch you probably just want to use 0.
  • delay: The announcement period required of the initial proxy. Will generally be zero.

Fails with Duplicate if this has already been called in this transaction, from the same sender, with the same parameters.

Fails if there are insufficient funds to pay for deposit.

Weight is a function of the number of proxies the user has (P).

TODO: Might be over counting 1 read

kill_anonymous(T::AccountId, T::ProxyTypeu16, T::BlockNumberu32)

Removes a previously spawned anonymous proxy.

WARNING: All access to this account will be lost. Any funds held in it will be inaccessible.

Requires a Signed origin, and the sender account must have been created by a call to anonymous with corresponding parameters.

  • spawner: The account that originally called anonymous to create this account.
  • index: The disambiguation index originally passed to anonymous. Probably 0.
  • proxy_type: The proxy type originally passed to anonymous.
  • height: The height of the chain when the call to anonymous was processed.
  • ext_index: The extrinsic index in which the call to anonymous was processed.

Fails with NoPermission in case the caller is not a previously created anonymous account whose anonymous call has corresponding parameters.

Weight is a function of the number of proxies the user has (P).

announce(T::AccountId, <<T as Config>::CallHasher as Hash>::Output)

Publish the hash of a proxy-call that will be made in the future.

This must be called some number of blocks before the corresponding proxy is attempted if the delay associated with the proxy relationship is greater than zero.

No more than MaxPending announcements may be made at any one time.

This will take a deposit of AnnouncementDepositFactor as well as AnnouncementDepositBase if there are no other pending announcements.

The dispatch origin for this call must be Signed and a proxy of real.

Parameters:

  • real: The account that the proxy will make a call on behalf of.
  • call_hash: The hash of the call to be made by the real account.

Weight is a function of:

  • A: the number of announcements made.
  • P: the number of proxies the user has.

remove_announcement(T::AccountId, <<T as Config>::CallHasher as Hash>::Output)

Remove a given announcement.

May be called by a proxy account to remove a call they previously announced and return the deposit.

The dispatch origin for this call must be Signed.

Parameters:

  • real: The account that the proxy will make a call on behalf of.
  • call_hash: The hash of the call to be made by the real account.

Weight is a function of:

  • A: the number of announcements made.
  • P: the number of proxies the user has.

reject_announcement(T::AccountId, <<T as Config>::CallHasher as Hash>::Output)

Remove the given announcement of a delegate.

May be called by a target (proxied) account to remove a call that one of their delegates (delegate) has announced they want to execute. The deposit is returned.

The dispatch origin for this call must be Signed.

Parameters:

  • delegate: The account that previously announced the call.
  • call_hash: The hash of the call to be made.

Weight is a function of:

  • A: the number of announcements made.
  • P: the number of proxies the user has.

proxy_announced(T::AccountId, T::AccountIdOption<T::ProxyType>, Box<<T as Config>::Call>)

Dispatch the given call from an account that the sender is authorised for through add_proxy.

Removes any corresponding announcement(s).

The dispatch origin for this call must be Signed.

Parameters:

  • real: The account that the proxy will make a call on behalf of.
  • force_proxy_type: Specify the exact proxy type to be used and checked for this call.
  • call: The call to be made by the real account.

Weight is a function of:

  • A: the number of announcements made.
  • P: the number of proxies the user has.

Trait Implementations

impl<T: Config> Clone for Call<T>[src]

impl<T: Config> Debug for Call<T>[src]

impl<T: Config> Decode for Call<T> where
    T::AccountId: Decode,
    T::AccountId: Decode,
    Option<T::ProxyType>: Decode,
    Option<T::ProxyType>: Decode,
    Box<<T as Config>::Call>: Decode,
    Box<<T as Config>::Call>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::ProxyType: Decode,
    T::ProxyType: Decode,
    T::BlockNumber: Decode,
    T::BlockNumber: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::ProxyType: Decode,
    T::ProxyType: Decode,
    T::BlockNumber: Decode,
    T::BlockNumber: Decode,
    T::ProxyType: Decode,
    T::ProxyType: Decode,
    T::BlockNumber: Decode,
    T::BlockNumber: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::ProxyType: Decode,
    T::ProxyType: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    <<T as Config>::CallHasher as Hash>::Output: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    Option<T::ProxyType>: Decode,
    Option<T::ProxyType>: Decode,
    Box<<T as Config>::Call>: Decode,
    Box<<T as Config>::Call>: Decode,
    T::BlockNumber: HasCompact
[src]

impl<T: Config> Encode for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    Option<T::ProxyType>: Encode,
    Option<T::ProxyType>: Encode,
    Box<<T as Config>::Call>: Encode,
    Box<<T as Config>::Call>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Option<T::ProxyType>: Encode,
    Option<T::ProxyType>: Encode,
    Box<<T as Config>::Call>: Encode,
    Box<<T as Config>::Call>: Encode,
    T::BlockNumber: HasCompact
[src]

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    Option<T::ProxyType>: Encode,
    Option<T::ProxyType>: Encode,
    Box<<T as Config>::Call>: Encode,
    Box<<T as Config>::Call>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Option<T::ProxyType>: Encode,
    Option<T::ProxyType>: Encode,
    Box<<T as Config>::Call>: Encode,
    Box<<T as Config>::Call>: Encode,
    T::BlockNumber: HasCompact
[src]

impl<T: Config> Eq for Call<T>[src]

impl<T: Config> GetCallName for Call<T>[src]

impl<T: Config> GetDispatchInfo for Call<T>[src]

impl<T: Config> PartialEq<Call<T>> for Call<T>[src]

impl<T: Config> UnfilteredDispatchable for Call<T>[src]

type Origin = T::Origin

The origin type of the runtime, (i.e. frame_system::Config::Origin).

Auto Trait Implementations

impl<T> RefUnwindSafe for Call<T> where
    T: RefUnwindSafe,
    <T as Config>::AccountId: RefUnwindSafe,
    <T as Config>::BlockNumber: RefUnwindSafe,
    <T as Config>::Call: RefUnwindSafe,
    <<T as Config>::CallHasher as Hash>::Output: RefUnwindSafe,
    <T as Config>::ProxyType: RefUnwindSafe
[src]

impl<T> Send for Call<T> where
    T: Send,
    <T as Config>::Call: Send
[src]

impl<T> Sync for Call<T> where
    T: Sync,
    <T as Config>::Call: Sync
[src]

impl<T> Unpin for Call<T> where
    T: Unpin,
    <T as Config>::AccountId: Unpin,
    <T as Config>::BlockNumber: Unpin,
    <<T as Config>::CallHasher as Hash>::Output: Unpin,
    <T as Config>::ProxyType: Unpin
[src]

impl<T> UnwindSafe for Call<T> where
    T: UnwindSafe,
    <T as Config>::AccountId: UnwindSafe,
    <T as Config>::BlockNumber: UnwindSafe,
    <T as Config>::Call: UnwindSafe,
    <<T as Config>::CallHasher as Hash>::Output: UnwindSafe,
    <T as Config>::ProxyType: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Encode + Decode
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T> Hashable for T where
    T: Codec
[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Parameter for T where
    T: Codec + EncodeLike<T> + Clone + Eq + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,