133133//! type AuthorityId = CrossChainPublic;
134134//! type AuthorityKeys = SessionKeys;
135135//! type AuthoritySelectionInputs = authority_selection_inherents::AuthoritySelectionInputs;
136- //! type ScEpochNumber = sidechain_domain::ScEpochNumber;
137136//! type WeightInfo = pallet_session_validator_management::weights::SubstrateWeight<Runtime>;
138137//! type CommitteeMember = authority_selection_inherents::CommitteeMember<CrossChainPublic, SessionKeys>;
139138//! type MainChainScriptsOrigin = EnsureRoot<Self::AccountId>;
@@ -262,13 +261,12 @@ pub mod pallet {
262261 use frame_system:: pallet_prelude:: * ;
263262 use log:: { info, warn} ;
264263 use sidechain_domain:: byte_string:: SizedByteString ;
265- use sidechain_domain:: { MainchainAddress , PolicyId } ;
264+ use sidechain_domain:: { MainchainAddress , PolicyId , ScEpochNumber } ;
266265 use sp_core:: blake2_256;
267266 use sp_runtime:: traits:: { MaybeSerializeDeserialize , One , Zero } ;
268267 use sp_session_validator_management:: * ;
269268 use sp_std:: collections:: btree_set:: BTreeSet ;
270- use sp_std:: fmt:: Display ;
271- use sp_std:: { ops:: Add , vec:: Vec } ;
269+ use sp_std:: vec:: Vec ;
272270
273271 const STORAGE_VERSION : StorageVersion = StorageVersion :: new ( 1 ) ;
274272
@@ -292,18 +290,6 @@ pub mod pallet {
292290 type AuthorityKeys : Parameter + Member + MaybeSerializeDeserialize + Ord + MaxEncodedLen ;
293291 /// Type of input data used by `select_authorities` to select a committee.
294292 type AuthoritySelectionInputs : Parameter ;
295- /// Type of the epoch number used by the partner chain.
296- type ScEpochNumber : Parameter
297- + MaxEncodedLen
298- + Zero
299- + Display
300- + Add
301- + One
302- + Default
303- + Ord
304- + Copy
305- + From < u64 >
306- + Into < u64 > ;
307293
308294 /// Type of committee members returned by `select_authorities`.
309295 type CommitteeMember : Parameter
@@ -319,11 +305,11 @@ pub mod pallet {
319305 /// Should return [None] if selection was impossible for the given input.
320306 fn select_authorities (
321307 input : Self :: AuthoritySelectionInputs ,
322- sidechain_epoch : Self :: ScEpochNumber ,
308+ sidechain_epoch : ScEpochNumber ,
323309 ) -> Option < BoundedVec < Self :: CommitteeMember , Self :: MaxValidators > > ;
324310
325311 /// Should return the current partner chain epoch.
326- fn current_epoch_number ( ) -> Self :: ScEpochNumber ;
312+ fn current_epoch_number ( ) -> ScEpochNumber ;
327313
328314 /// Weight functions needed for pallet_session_validator_management.
329315 type WeightInfo : WeightInfo ;
@@ -343,27 +329,23 @@ pub mod pallet {
343329 #[ derive( CloneNoBound , Encode , Decode , TypeInfo , MaxEncodedLen ) ]
344330 #[ scale_info( skip_type_params( MaxValidators ) ) ]
345331 /// Committee info type used on-chain.
346- pub struct CommitteeInfo < ScEpochNumber : Clone , CommitteeMember : Clone , MaxValidators > {
332+ pub struct CommitteeInfo < CommitteeMember : Clone , MaxValidators > {
347333 /// Epoch number the committee is selected for.
348334 pub epoch : ScEpochNumber ,
349335 /// List of committee members.
350336 pub committee : BoundedVec < CommitteeMember , MaxValidators > ,
351337 }
352338
353- impl < ScEpochNumber : Clone , CommitteeMember : Clone , MaxValidators >
354- CommitteeInfo < ScEpochNumber , CommitteeMember , MaxValidators >
355- {
339+ impl < CommitteeMember : Clone , MaxValidators > CommitteeInfo < CommitteeMember , MaxValidators > {
356340 /// Returns committee info as a pair of epoch number and list of committee members
357341 pub fn as_pair ( self ) -> ( ScEpochNumber , Vec < CommitteeMember > ) {
358342 ( self . epoch , self . committee . to_vec ( ) )
359343 }
360344 }
361345
362- impl < ScEpochNumber , CommitteeMember , MaxValidators > Default
363- for CommitteeInfo < ScEpochNumber , CommitteeMember , MaxValidators >
346+ impl < CommitteeMember , MaxValidators > Default for CommitteeInfo < CommitteeMember , MaxValidators >
364347 where
365348 CommitteeMember : Clone ,
366- ScEpochNumber : Clone + Zero ,
367349 {
368350 fn default ( ) -> Self {
369351 Self { epoch : ScEpochNumber :: zero ( ) , committee : BoundedVec :: new ( ) }
@@ -375,18 +357,12 @@ pub mod pallet {
375357 StorageValue < _ , BoundedBTreeSet < T :: AccountId , T :: MaxValidators > , ValueQuery > ;
376358
377359 #[ pallet:: storage]
378- pub type CurrentCommittee < T : Config > = StorageValue <
379- _ ,
380- CommitteeInfo < T :: ScEpochNumber , T :: CommitteeMember , T :: MaxValidators > ,
381- ValueQuery ,
382- > ;
360+ pub type CurrentCommittee < T : Config > =
361+ StorageValue < _ , CommitteeInfo < T :: CommitteeMember , T :: MaxValidators > , ValueQuery > ;
383362
384363 #[ pallet:: storage]
385- pub type NextCommittee < T : Config > = StorageValue <
386- _ ,
387- CommitteeInfo < T :: ScEpochNumber , T :: CommitteeMember , T :: MaxValidators > ,
388- OptionQuery ,
389- > ;
364+ pub type NextCommittee < T : Config > =
365+ StorageValue < _ , CommitteeInfo < T :: CommitteeMember , T :: MaxValidators > , OptionQuery > ;
390366
391367 /// Stores the stage of handling the inputs change. Used by session manager, to decide
392368 /// if the session should be ended quickly, to speed up using the newly selected committee.
@@ -428,7 +404,7 @@ pub mod pallet {
428404 ProvidedAccounts :: < T > :: set ( provided_accounts. try_into ( ) . unwrap ( ) ) ;
429405
430406 let committee_info =
431- CommitteeInfo { epoch : T :: ScEpochNumber :: zero ( ) , committee : initial_authorities } ;
407+ CommitteeInfo { epoch : ScEpochNumber :: zero ( ) , committee : initial_authorities } ;
432408 CurrentCommittee :: < T > :: put ( committee_info) ;
433409 MainChainScriptsConfiguration :: < T > :: put ( self . main_chain_scripts . clone ( ) ) ;
434410 }
@@ -545,7 +521,7 @@ pub mod pallet {
545521 pub fn set (
546522 origin : OriginFor < T > ,
547523 validators : BoundedVec < T :: CommitteeMember , T :: MaxValidators > ,
548- for_epoch_number : T :: ScEpochNumber ,
524+ for_epoch_number : ScEpochNumber ,
549525 selection_inputs_hash : SizedByteString < 32 > ,
550526 ) -> DispatchResult {
551527 ensure_none ( origin) ?;
@@ -588,7 +564,7 @@ pub mod pallet {
588564
589565 impl < T : Config > Pallet < T > {
590566 /// Returns epoch number for which next committee hasn't been set yet.
591- pub fn get_next_unset_epoch_number ( ) -> T :: ScEpochNumber {
567+ pub fn get_next_unset_epoch_number ( ) -> ScEpochNumber {
592568 NextCommittee :: < T > :: get ( )
593569 . map ( |next_committee| next_committee. epoch + One :: one ( ) )
594570 . unwrap_or ( CurrentCommittee :: < T > :: get ( ) . epoch + One :: one ( ) )
@@ -605,14 +581,13 @@ pub mod pallet {
605581 }
606582
607583 /// Returns current committee from storage.
608- pub fn current_committee_storage ( )
609- -> CommitteeInfo < T :: ScEpochNumber , T :: CommitteeMember , T :: MaxValidators > {
584+ pub fn current_committee_storage ( ) -> CommitteeInfo < T :: CommitteeMember , T :: MaxValidators > {
610585 CurrentCommittee :: < T > :: get ( )
611586 }
612587
613588 /// Returns next committee from storage.
614589 pub fn next_committee_storage ( )
615- -> Option < CommitteeInfo < T :: ScEpochNumber , T :: CommitteeMember , T :: MaxValidators > > {
590+ -> Option < CommitteeInfo < T :: CommitteeMember , T :: MaxValidators > > {
616591 NextCommittee :: < T > :: get ( )
617592 }
618593
@@ -644,7 +619,7 @@ pub mod pallet {
644619 /// Calculates committee using configured `select_authorities` function
645620 pub fn calculate_committee (
646621 authority_selection_inputs : T :: AuthoritySelectionInputs ,
647- sidechain_epoch : T :: ScEpochNumber ,
622+ sidechain_epoch : ScEpochNumber ,
648623 ) -> Option < Vec < T :: CommitteeMember > > {
649624 T :: select_authorities ( authority_selection_inputs, sidechain_epoch) . map ( |c| c. to_vec ( ) )
650625 }
0 commit comments