[][src]Enum pallet_identity::Call

pub enum Call<T: Trait> {
    add_registrar(T::AccountId),
    set_identity(IdentityInfo),
    set_subs(Vec<(T::AccountId, Data)>),
    clear_identity(),
    request_judgement(RegistrarIndex, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance),
    cancel_request(RegistrarIndex),
    set_fee(RegistrarIndex, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance),
    set_account_id(RegistrarIndex, T::AccountId),
    set_fields(RegistrarIndexIdentityFields),
    provide_judgement(RegistrarIndex, <T::Lookup as StaticLookup>::SourceJudgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>),
    kill_identity(<T::Lookup as StaticLookup>::Source),
    add_sub(<T::Lookup as StaticLookup>::SourceData),
    rename_sub(<T::Lookup as StaticLookup>::SourceData),
    remove_sub(<T::Lookup as StaticLookup>::Source),
    quit_sub(),
    // some variants omitted
}

Dispatchable calls.

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

Variants

add_registrar(T::AccountId)

Add a registrar to the system.

The dispatch origin for this call must be T::RegistrarOrigin.

  • account: the account of the registrar.

Emits RegistrarAdded if successful.

  • O(R) where R registrar-count (governance-bounded and code-bounded).
  • One storage mutation (codec O(R)).
  • One event.

set_identity(IdentityInfo)

Set an account's identity information and reserve the appropriate deposit.

If the account already has identity information, the deposit is taken as part payment for the new deposit.

The dispatch origin for this call must be Signed.

  • info: The identity information.

Emits IdentitySet if successful.

  • O(X + X' + R)
    • where X additional-field-count (deposit-bounded and code-bounded)
    • where R judgements-count (registrar-count-bounded)
  • One balance reserve operation.
  • One storage mutation (codec-read O(X' + R), codec-write O(X + R)).
  • One event.

set_subs(Vec<(T::AccountId, Data)>)

Set the sub-accounts of the sender.

Payment: Any aggregate balance reserved by previous set_subs calls will be returned and an amount SubAccountDeposit will be reserved for each item in subs.

The dispatch origin for this call must be Signed and the sender must have a registered identity.

  • subs: The identity's (new) sub-accounts.

  • O(P + S)
    • where P old-subs-count (hard- and deposit-bounded).
    • where S subs-count (hard- and deposit-bounded).
  • At most one balance operations.
  • DB:
    • P + S storage mutations (codec complexity O(1))
    • One storage read (codec complexity O(P)).
    • One storage write (codec complexity O(S)).
    • One storage-exists (IdentityOf::contains_key).

clear_identity()

Clear an account's identity info and all sub-accounts and return all deposits.

Payment: All reserved balances on the account are returned.

The dispatch origin for this call must be Signed and the sender must have a registered identity.

Emits IdentityCleared if successful.

  • O(R + S + X)
    • where R registrar-count (governance-bounded).
    • where S subs-count (hard- and deposit-bounded).
    • where X additional-field-count (deposit-bounded and code-bounded).
  • One balance-unreserve operation.
  • 2 storage reads and S + 2 storage deletions.
  • One event.

request_judgement(RegistrarIndex, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance)

Request a judgement from a registrar.

Payment: At most max_fee will be reserved for payment to the registrar if judgement given.

The dispatch origin for this call must be Signed and the sender must have a registered identity.

  • reg_index: The index of the registrar whose judgement is requested.
  • max_fee: The maximum fee that may be paid. This should just be auto-populated as:
Self::registrars().get(reg_index).unwrap().fee

Emits JudgementRequested if successful.

  • O(R + X).
  • One balance-reserve operation.
  • Storage: 1 read O(R), 1 mutate O(X + R).
  • One event.

cancel_request(RegistrarIndex)

Cancel a previous request.

Payment: A previously reserved deposit is returned on success.

The dispatch origin for this call must be Signed and the sender must have a registered identity.

  • reg_index: The index of the registrar whose judgement is no longer requested.

Emits JudgementUnrequested if successful.

  • O(R + X).
  • One balance-reserve operation.
  • One storage mutation O(R + X).
  • One event

set_fee(RegistrarIndex, <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance)

Set the fee required for a judgement to be requested from a registrar.

The dispatch origin for this call must be Signed and the sender must be the account of the registrar whose index is index.

  • index: the index of the registrar whose fee is to be set.
  • fee: the new fee.

  • O(R).
  • One storage mutation O(R).
  • Benchmark: 7.315 + R * 0.329 µs (min squares analysis)

set_account_id(RegistrarIndex, T::AccountId)

Change the account associated with a registrar.

The dispatch origin for this call must be Signed and the sender must be the account of the registrar whose index is index.

  • index: the index of the registrar whose fee is to be set.
  • new: the new account ID.

  • O(R).
  • One storage mutation O(R).
  • Benchmark: 8.823 + R * 0.32 µs (min squares analysis)

Set the field information for a registrar.

The dispatch origin for this call must be Signed and the sender must be the account of the registrar whose index is index.

  • index: the index of the registrar whose fee is to be set.
  • fields: the fields that the registrar concerns themselves with.

  • O(R).
  • One storage mutation O(R).
  • Benchmark: 7.464 + R * 0.325 µs (min squares analysis)

provide_judgement(RegistrarIndex, <T::Lookup as StaticLookup>::SourceJudgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>)

Provide a judgement for an account's identity.

The dispatch origin for this call must be Signed and the sender must be the account of the registrar whose index is reg_index.

  • reg_index: the index of the registrar whose judgement is being made.
  • target: the account whose identity the judgement is upon. This must be an account with a registered identity.
  • judgement: the judgement of the registrar of index reg_index about target.

Emits JudgementGiven if successful.

  • O(R + X).
  • One balance-transfer operation.
  • Up to one account-lookup operation.
  • Storage: 1 read O(R), 1 mutate O(R + X).
  • One event.

kill_identity(<T::Lookup as StaticLookup>::Source)

Remove an account's identity and sub-account information and slash the deposits.

Payment: Reserved balances from set_subs and set_identity are slashed and handled by Slash. Verification request deposits are not returned; they should be cancelled manually using cancel_request.

The dispatch origin for this call must match T::ForceOrigin.

  • target: the account whose identity the judgement is upon. This must be an account with a registered identity.

Emits IdentityKilled if successful.

  • O(R + S + X).
  • One balance-reserve operation.
  • S + 2 storage mutations.
  • One event.

add_sub(<T::Lookup as StaticLookup>::SourceData)

Add the given account to the sender's subs.

Payment: Balance reserved by a previous set_subs call for one sub will be repatriated to the sender.

The dispatch origin for this call must be Signed and the sender must have a registered sub identity of sub.

rename_sub(<T::Lookup as StaticLookup>::SourceData)

Alter the associated name of the given sub-account.

The dispatch origin for this call must be Signed and the sender must have a registered sub identity of sub.

remove_sub(<T::Lookup as StaticLookup>::Source)

Remove the given account from the sender's subs.

Payment: Balance reserved by a previous set_subs call for one sub will be repatriated to the sender.

The dispatch origin for this call must be Signed and the sender must have a registered sub identity of sub.

quit_sub()

Remove the sender as a sub-account.

Payment: Balance reserved by a previous set_subs call for one sub will be repatriated to the sender (not the original depositor).

The dispatch origin for this call must be Signed and the sender must have a registered super-identity.

NOTE: This should not normally be used, but is provided in the case that the non- controller of an account is maliciously registered as a sub-account.

Trait Implementations

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

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

impl<T: Trait> Decode for Call<T> where
    T::AccountId: Decode,
    T::AccountId: Decode,
    Vec<(T::AccountId, Data)>: Decode,
    Vec<(T::AccountId, Data)>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Decode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <T::Lookup as StaticLookup>::Source: Decode,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact
[src]

impl<T: Trait> Encode for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    Vec<(T::AccountId, Data)>: Encode,
    Vec<(T::AccountId, Data)>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Encode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact
[src]

impl<T: Trait> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    Vec<(T::AccountId, Data)>: Encode,
    Vec<(T::AccountId, Data)>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Encode,
    Judgement<<<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance>: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: HasCompact
[src]

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

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

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

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

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

type Origin = T::Origin

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

Auto Trait Implementations

impl<T> RefUnwindSafe for Call<T> where
    T: RefUnwindSafe,
    <T as Trait>::AccountId: RefUnwindSafe,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: RefUnwindSafe,
    <<T as Trait>::Lookup as StaticLookup>::Source: RefUnwindSafe
[src]

impl<T> Send for Call<T> where
    T: Send,
    <T as Trait>::AccountId: Send,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Send,
    <<T as Trait>::Lookup as StaticLookup>::Source: Send
[src]

impl<T> Sync for Call<T> where
    T: Sync,
    <T as Trait>::AccountId: Sync,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Sync,
    <<T as Trait>::Lookup as StaticLookup>::Source: Sync
[src]

impl<T> Unpin for Call<T> where
    T: Unpin,
    <T as Trait>::AccountId: Unpin,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: Unpin,
    <<T as Trait>::Lookup as StaticLookup>::Source: Unpin
[src]

impl<T> UnwindSafe for Call<T> where
    T: UnwindSafe,
    <T as Trait>::AccountId: UnwindSafe,
    <<T as Trait>::Currency as Currency<<T as Trait>::AccountId>>::Balance: UnwindSafe,
    <<T as Trait>::Lookup as StaticLookup>::Source: 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>, 

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

Get a reference to the inner from the outer.

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

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<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

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>, 

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

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