pallet_session_validator_management/migrations/
v0.rs1#![allow(missing_docs)]
3use frame_support::pallet_prelude::{OptionQuery, ValueQuery, Zero};
4use frame_support::{BoundedVec, CloneNoBound, storage_alias};
5use parity_scale_codec::{Decode, Encode, MaxEncodedLen};
6use scale_info::TypeInfo;
7use sidechain_domain::ScEpochNumber;
8
9#[derive(CloneNoBound, Encode, Decode, TypeInfo, MaxEncodedLen)]
10#[scale_info(skip_type_params(MaxValidators))]
11pub struct LegacyCommitteeInfo<
12 ScEpochNumber: Clone,
13 AuthorityId: Clone,
14 AuthorityKeys: Clone,
15 MaxValidators,
16> {
17 pub epoch: ScEpochNumber,
18 pub committee: BoundedVec<(AuthorityId, AuthorityKeys), MaxValidators>,
19}
20
21impl<AuthorityId, AuthorityKeys, MaxValidators> Default
22 for LegacyCommitteeInfo<ScEpochNumber, AuthorityId, AuthorityKeys, MaxValidators>
23where
24 AuthorityId: Clone,
25 AuthorityKeys: Clone,
26{
27 fn default() -> Self {
28 Self { epoch: ScEpochNumber::zero(), committee: BoundedVec::new() }
29 }
30}
31
32#[storage_alias]
33pub type CurrentCommittee<T: crate::pallet::Config> = StorageValue<
34 crate::Pallet<T>,
35 LegacyCommitteeInfo<
36 ScEpochNumber,
37 <T as crate::pallet::Config>::AuthorityId,
38 <T as crate::pallet::Config>::AuthorityKeys,
39 <T as crate::pallet::Config>::MaxValidators,
40 >,
41 ValueQuery,
42>;
43
44#[storage_alias]
45pub type NextCommittee<T: crate::pallet::Config> = StorageValue<
46 crate::Pallet<T>,
47 LegacyCommitteeInfo<
48 ScEpochNumber,
49 <T as crate::pallet::Config>::AuthorityId,
50 <T as crate::pallet::Config>::AuthorityKeys,
51 <T as crate::pallet::Config>::MaxValidators,
52 >,
53 OptionQuery,
54>;