Crate noble_identity[][src]

Identity Module


A federated naming system, allowing for multiple registrars to be added from a specified origin. Registrars can set a fee to provide identity-verification service. Anyone can put forth a proposed identity for a fixed deposit and ask for review by any number of registrars (paying each of their fees). Registrar judgements are given as an enum, allowing for sophisticated, multi-tier opinions.

Some judgements are identified as sticky, which means they cannot be removed except by complete removal of the identity, or by the registrar. Judgements are allowed to represent a portion of funds that have been reserved for the registrar.

A super-user can remove accounts and in doing so, slash the deposit.

All accounts may also have a limited number of sub-accounts which may be specified by the owner; by definition, these have equivalent ownership and each has an individual name.

The number of registrars should be limited, and the deposit made sufficiently large, to ensure no state-bloat attack is viable.


Dispatchable Functions

For general users

  • set_identity - Set the associated identity of an account; a small deposit is reserved if not already taken.
  • clear_identity - Remove an account’s associated identity; the deposit is returned.
  • request_judgement - Request a judgement from a registrar, paying a fee.
  • cancel_request - Cancel the previous request for a judgement.

For general users with sub-identities

  • set_subs - Set the sub-accounts of an identity.
  • add_sub - Add a sub-identity to an identity.
  • remove_sub - Remove a sub-identity of an identity.
  • rename_sub - Rename a sub-identity of an identity.
  • quit_sub - Remove a sub-identity of an identity (called by the sub-identity).

For registrars

  • set_fee - Set the fee required to be paid for a judgement to be given by the registrar.
  • set_fields - Set the fields that a registrar cares about in their judgements.
  • provide_judgement - Provide a judgement to an identity.

For super-users

  • add_registrar - Add a new registrar to the system.
  • kill_identity - Forcibly remove the associated identity; the deposit is lost.


pub use weights::WeightInfo;
pub use $crate::traits::GetNobleVersion as _;



Weights for noble_identity THIS FILE WAS AUTO-GENERATED USING THE TETCORE BENCHMARK CLI VERSION 2.0.0 DATE: 2020-10-27, STEPS: [50, ], REPEAT: 20, LOW RANGE: [], HIGH RANGE: [] EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some(“dev”), DB CACHE: 128



Wrapper type for BitFlags<IdentityField> that implements Codec.


Information concerning the identity of the controller of an account.


Information that is pertinent to identify the entity behind an account.


Identity module declaration.


Information concerning a registrar.


The set of registrars. Not expected to get very big as can only be added through a special origin (likely a council motion).


Information concerning the identity of the controller of an account.


Alternative “sub” identities of this account.


The super-identity of an alternative “sub” identity together with its name, within that context. If the account is not some other account’s sub-identity, then just None.



Dispatchable calls.


Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater than 32-bytes then it will be truncated when encoding.


Error for the identity module.


The fields that we use to identify the owner of an account with. Each corresponds to a field in the IdentityInfo struct.


An attestation of a registrar over how accurate some IdentityInfo is in describing an account.


Events for this module.



Type Definitions


RawEvent specialized for the configuration Config


An identifier for a single name registrar/identity verification service.