Struct pallet_identity::pallet::Pallet [−][src]
pub struct Pallet<T>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
Identity pallet declaration.
pub fn add_registrar(
origin: OriginFor<T>,
account: T::AccountId
) -> DispatchResultWithPostInfo
pub fn add_registrar(
origin: OriginFor<T>,
account: T::AccountId
) -> DispatchResultWithPostInfo
pub fn set_identity(
origin: OriginFor<T>,
info: Box<IdentityInfo<T::MaxAdditionalFields>>
) -> DispatchResultWithPostInfo
pub fn set_identity(
origin: OriginFor<T>,
info: Box<IdentityInfo<T::MaxAdditionalFields>>
) -> DispatchResultWithPostInfo
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)
- where
- One balance reserve operation.
- One storage mutation (codec-read
O(X' + R)
, codec-writeO(X + R)
). - One event.
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).
- where
- At most one balance operations.
- DB:
P + S
storage mutations (codec complexityO(1)
)- One storage read (codec complexity
O(P)
). - One storage write (codec complexity
O(S)
). - One storage-exists (
IdentityOf::contains_key
).
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).
- where
- One balance-unreserve operation.
2
storage reads andS + 2
storage deletions.- One event.
pub fn request_judgement(
origin: OriginFor<T>,
reg_index: RegistrarIndex,
max_fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance
) -> DispatchResultWithPostInfo
pub fn request_judgement(
origin: OriginFor<T>,
reg_index: RegistrarIndex,
max_fee: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance
) -> DispatchResultWithPostInfo
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 mutateO(X + R)
. - One event.
pub fn cancel_request(
origin: OriginFor<T>,
reg_index: RegistrarIndex
) -> DispatchResultWithPostInfo
pub fn cancel_request(
origin: OriginFor<T>,
reg_index: RegistrarIndex
) -> DispatchResultWithPostInfo
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 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)
pub fn set_account_id(
origin: OriginFor<T>,
index: RegistrarIndex,
new: T::AccountId
) -> DispatchResultWithPostInfo
pub fn set_account_id(
origin: OriginFor<T>,
index: RegistrarIndex,
new: T::AccountId
) -> DispatchResultWithPostInfo
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)
pub fn set_fields(
origin: OriginFor<T>,
index: RegistrarIndex,
fields: IdentityFields
) -> DispatchResultWithPostInfo
pub fn set_fields(
origin: OriginFor<T>,
index: RegistrarIndex,
fields: IdentityFields
) -> DispatchResultWithPostInfo
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)
pub fn provide_judgement(
origin: OriginFor<T>,
reg_index: RegistrarIndex,
target: <T::Lookup as StaticLookup>::Source,
judgement: Judgement<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>
) -> DispatchResultWithPostInfo
pub fn provide_judgement(
origin: OriginFor<T>,
reg_index: RegistrarIndex,
target: <T::Lookup as StaticLookup>::Source,
judgement: Judgement<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>
) -> DispatchResultWithPostInfo
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 indexreg_index
abouttarget
.
Emits JudgementGiven
if successful.
O(R + X)
.- One balance-transfer operation.
- Up to one account-lookup operation.
- Storage: 1 read
O(R)
, 1 mutateO(R + X)
. - One event.
pub fn kill_identity(
origin: OriginFor<T>,
target: <T::Lookup as StaticLookup>::Source
) -> DispatchResultWithPostInfo
pub fn kill_identity(
origin: OriginFor<T>,
target: <T::Lookup as StaticLookup>::Source
) -> DispatchResultWithPostInfo
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.
pub fn add_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source,
data: Data
) -> DispatchResult
pub fn add_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source,
data: Data
) -> DispatchResult
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
.
pub fn rename_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source,
data: Data
) -> DispatchResult
pub fn rename_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source,
data: Data
) -> DispatchResult
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
.
pub fn remove_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source
) -> DispatchResult
pub fn remove_sub(
origin: OriginFor<T>,
sub: <T::Lookup as StaticLookup>::Source
) -> DispatchResult
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
.
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.
pub fn identity<KArg>(
k: KArg
) -> Option<Registration<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::MaxRegistrars, T::MaxAdditionalFields>> where
KArg: EncodeLike<T::AccountId>,
pub fn identity<KArg>(
k: KArg
) -> Option<Registration<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::MaxRegistrars, T::MaxAdditionalFields>> where
KArg: EncodeLike<T::AccountId>,
Information that is pertinent to identify the entity behind an account.
TWOX-NOTE: OK ― AccountId
is a secure hash.
Alternative “sub” identities of this account.
The first item is the deposit, the second is a vector of the accounts.
TWOX-NOTE: OK ― AccountId
is a secure hash.
pub fn registrars(
) -> BoundedVec<Option<RegistrarInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>>, T::MaxRegistrars>
pub fn registrars(
) -> BoundedVec<Option<RegistrarInfo<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance, T::AccountId>>, T::MaxRegistrars>
The set of registrars. Not expected to get very big as can only be added through a special origin (likely a council motion).
The index into this can be cast to RegistrarIndex
to get a valid value.
Trait Implementations
Get the benchmarks available for this pallet. Generally there is one benchmark per extrinsic, so these are sometimes just called “extrinsics”. Read more
fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32
) -> Result<Vec<BenchmarkResults>, &'static str>
fn run_benchmark(
extrinsic: &[u8],
c: &[(BenchmarkParameter, u32)],
whitelist: &[TrackedStorageKey],
verify: bool,
internal_repeats: u32
) -> Result<Vec<BenchmarkResults>, &'static str>
Run the benchmarks for this pallet.
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
The block is being finalized. Implement to have something happen.
This will be run when the block is being finalized (before on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Execute some pre-checks prior to a runtime upgrade. Read more
Execute some post-checks after a runtime upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being finalized.
Implement to have something happen in case there is leftover weight.
Check the passed remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Pallet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Pallet<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Generate a storage key unique to this runtime upgrade. Read more
Get temporary storage data written by Self::set_temp_storage
. Read more
Write some temporary data to a specific storage that can be read (potentially in
post-upgrade hook) via Self::get_temp_storage
. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,