I need to interact with pallet_session
, in particular to read validator set for the next session. As far as I understand, this data is stored in two places:
QueuedKeys
, which is justVec<(T::ValidatorId, T::Keys)>
NextKeys
, which is a mapping fromT::ValidatorId
toT::Keys
After scrolling pallet code, it seems to me that these two containers are kinda equivalent and it is not clear for me why there is a need for both of them. Hence, I do not know whether I'm guaranteed that they always contain the same data and I can use any of them or I'm missing something.
So the question is: is there any difference between QueuedKeys
and NextKeys
, of course apart from the lookup/access interface (vector vs map).