Rococo and Westend runtimes for the "People Chain". This chain contains the Identity pallet with plans to migrate all related data from the Relay Chain. Changes `IdentityInfo` to: - Remove `additional_fields`. - Add `github` and `discord` as first class fields. From scraping chain data, these were the only two additional fields used (for the Fellowship and Ambassador Program, respectively). - Rename `riot` to `matrix`. Note: This will use the script in https://github.com/paritytech/polkadot-sdk/pull/2025 to generate the genesis state. TODO: - [x] https://github.com/paritytech/polkadot-sdk/pull/1814 and integration of the Identity Migrator pallet for migration. - [x] Tests: https://github.com/paritytech/polkadot-sdk/pull/2373 --------- Co-authored-by: Muharem <ismailov.m.h@gmail.com> Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com> Co-authored-by: Dónal Murray <donal.murray@parity.io> Co-authored-by: Richard Melkonian <35300528+0xmovses@users.noreply.github.com> Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Identity Module
Overview
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.
Interface
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.
License: Apache-2.0