Skip to content

Use IdtyIndex as Session ValidatorId

this issue was renamed after discussion

We have a strange pattern: only member identities are allowed to be validators, and they are identified by their accountid which can change.

There are too many layers:

  1. pallet identity
  2. pallet membership (sorry)
  3. pallet smith-members
  4. pallet authority-members
  5. pallet session

I think we should at least merge smith-members and authority-members which are both adapters for pallet session.

Authority-members already provides an interface for pallet session with pallet_session::Call::<T>::set_keys and pallet_session::SessionManager implementation (that uses the results coming from go_online and go_offline).

Two options here:

  • use identity index as validator id
  • keep account id as validator id but update it on change_owner_key (implementation already available) so it still has a meaning

In both case, the Members storage item does not need to map to somthing and can simply be a set (a map to ()).

Marking this as #bug because it's unspecified behavior. Not sure however in which scenario it could be problematic.

Edited by Hugo Trentesaux
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information