diff --git a/runtime/common/src/integration_tests.rs b/runtime/common/src/integration_tests.rs index ba7a497bb17c..0faf63ab1e7c 100644 --- a/runtime/common/src/integration_tests.rs +++ b/runtime/common/src/integration_tests.rs @@ -65,6 +65,7 @@ frame_support::construct_runtime!( // Parachains Runtime Configuration: configuration::{Pallet, Call, Storage, Config}, Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, + ParasShared: shared::{Pallet, Call, Storage}, // Para Onboarding Pallets Registrar: paras_registrar::{Pallet, Call, Storage, Event}, @@ -251,8 +252,8 @@ const BLOCKS_PER_SESSION: u32 = 10; fn maybe_new_session(n: u32) { if n % BLOCKS_PER_SESSION == 0 { - shared::Module::::set_session_index( - shared::Module::::session_index() + 1 + shared::Pallet::::set_session_index( + shared::Pallet::::session_index() + 1 ); Paras::test_on_new_session(); } diff --git a/runtime/common/src/paras_registrar.rs b/runtime/common/src/paras_registrar.rs index 831c0715f265..34c952a13eae 100644 --- a/runtime/common/src/paras_registrar.rs +++ b/runtime/common/src/paras_registrar.rs @@ -573,6 +573,7 @@ mod tests { Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, ParachainsConfiguration: configuration::{Pallet, Call, Storage, Config}, Parachains: paras::{Pallet, Origin, Call, Storage, Config, Event}, + ParasShared: shared::{Pallet, Call, Storage}, Registrar: paras_registrar::{Pallet, Call, Storage, Event}, } ); diff --git a/runtime/parachains/src/configuration.rs b/runtime/parachains/src/configuration.rs index 04ff169a0a79..206ce5ee9ac2 100644 --- a/runtime/parachains/src/configuration.rs +++ b/runtime/parachains/src/configuration.rs @@ -730,7 +730,7 @@ impl Module { /// Return the session index that should be used for any future scheduled changes. fn scheduled_session() -> SessionIndex { - shared::Module::::scheduled_session() + shared::Pallet::::scheduled_session() } /// Forcibly set the active config. This should be used with extreme care, and typically diff --git a/runtime/parachains/src/hrmp.rs b/runtime/parachains/src/hrmp.rs index 4c46c987fd4a..5dba28396d63 100644 --- a/runtime/parachains/src/hrmp.rs +++ b/runtime/parachains/src/hrmp.rs @@ -1292,7 +1292,7 @@ impl Pallet { mod tests { use super::*; use crate::mock::{ - new_test_ext, Test, Configuration, Paras, Shared, Hrmp, System, MockGenesisConfig, + new_test_ext, Test, Configuration, Paras, ParasShared, Hrmp, System, MockGenesisConfig, Event as MockEvent, }; use frame_support::{assert_noop, assert_ok, traits::Currency as _}; @@ -1308,18 +1308,18 @@ mod tests { // NOTE: this is in reverse initialization order. Hrmp::initializer_finalize(); Paras::initializer_finalize(); - Shared::initializer_finalize(); + ParasShared::initializer_finalize(); if new_session.as_ref().map_or(false, |v| v.contains(&(b + 1))) { let notification = crate::initializer::SessionChangeNotification { prev_config: config.clone(), new_config: config.clone(), - session_index: Shared::session_index() + 1, + session_index: ParasShared::session_index() + 1, ..Default::default() }; // NOTE: this is in initialization order. - Shared::initializer_on_new_session( + ParasShared::initializer_on_new_session( notification.session_index, notification.random_seed, ¬ification.new_config, @@ -1335,7 +1335,7 @@ mod tests { System::set_block_number(b + 1); // NOTE: this is in initialization order. - Shared::initializer_initialize(b + 1); + ParasShared::initializer_initialize(b + 1); Paras::initializer_initialize(b + 1); Hrmp::initializer_initialize(b + 1); } diff --git a/runtime/parachains/src/inclusion.rs b/runtime/parachains/src/inclusion.rs index f75366bfb49f..171c9f90f993 100644 --- a/runtime/parachains/src/inclusion.rs +++ b/runtime/parachains/src/inclusion.rs @@ -253,8 +253,8 @@ impl Pallet { unchecked_bitfields: UncheckedSignedAvailabilityBitfields, core_lookup: impl Fn(CoreIndex) -> Option, ) -> Result, DispatchError> { - let validators = shared::Module::::active_validator_keys(); - let session_index = shared::Module::::session_index(); + let validators = shared::Pallet::::active_validator_keys(); + let session_index = shared::Pallet::::session_index(); let mut assigned_paras_record: Vec<_> = (0..expected_bits) .map(|bit_index| core_lookup(CoreIndex::from(bit_index as u32))) @@ -407,7 +407,7 @@ impl Pallet { return Ok(Vec::new()); } - let validators = shared::Module::::active_validator_keys(); + let validators = shared::Pallet::::active_validator_keys(); let parent_hash = >::parent_hash(); // At the moment we assume (and in fact enforce, below) that the relay-parent is always one @@ -434,7 +434,7 @@ impl Pallet { let signing_context = SigningContext { parent_hash, - session_index: shared::Module::::session_index(), + session_index: shared::Pallet::::session_index(), }; // We combine an outer loop over candidates with an inner loop over the scheduled, @@ -951,7 +951,7 @@ mod tests { use sc_keystore::LocalKeystore; use crate::mock::{ new_test_ext, Configuration, Paras, System, ParaInclusion, - MockGenesisConfig, Test, Shared, + MockGenesisConfig, Test, ParasShared, }; use crate::initializer::SessionChangeNotification; use crate::configuration::HostConfiguration; @@ -1080,10 +1080,10 @@ mod tests { ParaInclusion::initializer_finalize(); Paras::initializer_finalize(); - Shared::initializer_finalize(); + ParasShared::initializer_finalize(); if let Some(notification) = new_session(b + 1) { - Shared::initializer_on_new_session( + ParasShared::initializer_on_new_session( notification.session_index, notification.random_seed, ¬ification.new_config, @@ -1098,7 +1098,7 @@ mod tests { System::on_initialize(b + 1); System::set_block_number(b + 1); - Shared::initializer_initialize(b + 1); + ParasShared::initializer_initialize(b + 1); Paras::initializer_initialize(b + 1); ParaInclusion::initializer_initialize(b + 1); } @@ -1113,11 +1113,11 @@ mod tests { } fn default_availability_votes() -> BitVec { - bitvec::bitvec![BitOrderLsb0, u8; 0; Shared::active_validator_keys().len()] + bitvec::bitvec![BitOrderLsb0, u8; 0; ParasShared::active_validator_keys().len()] } fn default_backing_bitfield() -> BitVec { - bitvec::bitvec![BitOrderLsb0, u8; 0; Shared::active_validator_keys().len()] + bitvec::bitvec![BitOrderLsb0, u8; 0; ParasShared::active_validator_keys().len()] } fn backing_bitfield(v: &[usize]) -> BitVec { @@ -1264,8 +1264,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); let signing_context = SigningContext { parent_hash: System::parent_hash(), @@ -1498,8 +1498,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); let signing_context = SigningContext { parent_hash: System::parent_hash(), @@ -1663,8 +1663,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); run_to_block(5, |_| None); @@ -2187,8 +2187,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); run_to_block(5, |_| None); @@ -2384,8 +2384,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); run_to_block(5, |_| None); @@ -2481,8 +2481,8 @@ mod tests { let validator_public = validator_pubkeys(&validators); new_test_ext(genesis_config(paras)).execute_with(|| { - shared::Module::::set_active_validators_ascending(validator_public.clone()); - shared::Module::::set_session_index(5); + shared::Pallet::::set_active_validators_ascending(validator_public.clone()); + shared::Pallet::::set_session_index(5); let validators_new = vec![ Sr25519Keyring::Alice, @@ -2545,7 +2545,7 @@ mod tests { run_to_block(11, |_| None); - assert_eq!(shared::Module::::session_index(), 5); + assert_eq!(shared::Pallet::::session_index(), 5); assert!(>::get(&ValidatorIndex(0)).is_some()); assert!(>::get(&ValidatorIndex(1)).is_some()); @@ -2568,7 +2568,7 @@ mod tests { _ => None, }); - assert_eq!(shared::Module::::session_index(), 6); + assert_eq!(shared::Pallet::::session_index(), 6); assert!(>::get(&ValidatorIndex(0)).is_none()); assert!(>::get(&ValidatorIndex(1)).is_none()); diff --git a/runtime/parachains/src/initializer.rs b/runtime/parachains/src/initializer.rs index 361365683bf3..41e0c7adb07d 100644 --- a/runtime/parachains/src/initializer.rs +++ b/runtime/parachains/src/initializer.rs @@ -133,7 +133,7 @@ pub mod pallet { // - UMP // - HRMP let total_weight = configuration::Module::::initializer_initialize(now) + - shared::Module::::initializer_initialize(now) + + shared::Pallet::::initializer_initialize(now) + paras::Pallet::::initializer_initialize(now) + scheduler::Module::::initializer_initialize(now) + inclusion::Pallet::::initializer_initialize(now) + @@ -158,7 +158,7 @@ pub mod pallet { inclusion::Pallet::::initializer_finalize(); scheduler::Module::::initializer_finalize(); paras::Pallet::::initializer_finalize(); - shared::Module::::initializer_finalize(); + shared::Pallet::::initializer_finalize(); configuration::Module::::initializer_finalize(); // Apply buffered session changes as the last thing. This way the runtime APIs and the @@ -217,7 +217,7 @@ impl Pallet { let new_config = >::config(); - let validators = shared::Module::::initializer_on_new_session( + let validators = shared::Pallet::::initializer_on_new_session( session_index, random_seed.clone(), &new_config, diff --git a/runtime/parachains/src/mock.rs b/runtime/parachains/src/mock.rs index 904d87dae92e..d44c2e2b649f 100644 --- a/runtime/parachains/src/mock.rs +++ b/runtime/parachains/src/mock.rs @@ -47,7 +47,7 @@ frame_support::construct_runtime!( Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, Paras: paras::{Pallet, Origin, Call, Storage, Event, Config}, Configuration: configuration::{Pallet, Call, Storage, Config}, - Shared: shared::{Pallet, Call, Storage}, + ParasShared: shared::{Pallet, Call, Storage}, ParaInclusion: inclusion::{Pallet, Call, Storage, Event}, Scheduler: scheduler::{Pallet, Call, Storage}, Initializer: initializer::{Pallet, Call, Storage}, diff --git a/runtime/parachains/src/paras.rs b/runtime/parachains/src/paras.rs index 2ae809006fd4..2942266bfbd0 100644 --- a/runtime/parachains/src/paras.rs +++ b/runtime/parachains/src/paras.rs @@ -1016,18 +1016,18 @@ mod tests { use primitives::v1::BlockNumber; use frame_support::assert_ok; - use crate::mock::{new_test_ext, Paras, Shared, System, MockGenesisConfig}; + use crate::mock::{new_test_ext, Paras, ParasShared, System, MockGenesisConfig}; use crate::configuration::HostConfiguration; fn run_to_block(to: BlockNumber, new_session: Option>) { while System::block_number() < to { let b = System::block_number(); Paras::initializer_finalize(); - Shared::initializer_finalize(); + ParasShared::initializer_finalize(); if new_session.as_ref().map_or(false, |v| v.contains(&(b + 1))) { let mut session_change_notification = SessionChangeNotification::default(); - session_change_notification.session_index = Shared::session_index() + 1; - Shared::initializer_on_new_session( + session_change_notification.session_index = ParasShared::session_index() + 1; + ParasShared::initializer_on_new_session( session_change_notification.session_index, session_change_notification.random_seed, &session_change_notification.new_config, @@ -1040,7 +1040,7 @@ mod tests { System::on_initialize(b + 1); System::set_block_number(b + 1); - Shared::initializer_initialize(b + 1); + ParasShared::initializer_initialize(b + 1); Paras::initializer_initialize(b + 1); } } diff --git a/runtime/parachains/src/paras_inherent.rs b/runtime/parachains/src/paras_inherent.rs index e7d53f00cb0a..34eddcb945cf 100644 --- a/runtime/parachains/src/paras_inherent.rs +++ b/runtime/parachains/src/paras_inherent.rs @@ -117,7 +117,7 @@ decl_module! { ); // Handle disputes logic. - let current_session = >::session_index(); + let current_session = >::session_index(); let freed_disputed: Vec<(_, FreedReason)> = { let fresh_disputes = T::DisputesHandler::provide_multi_dispute_data(disputes)?; if T::DisputesHandler::is_frozen() { diff --git a/runtime/parachains/src/reward_points.rs b/runtime/parachains/src/reward_points.rs index 661fa00c3876..ff86132b8e46 100644 --- a/runtime/parachains/src/reward_points.rs +++ b/runtime/parachains/src/reward_points.rs @@ -35,7 +35,7 @@ fn validators_to_reward(validators: &'_ [T], indirect_indices: I) -> im C: shared::Config, I: IntoIterator { - let validator_indirection = >::active_validator_indices(); + let validator_indirection = >::active_validator_indices(); indirect_indices.into_iter() .filter_map(move |i| validator_indirection.get(i.0 as usize).map(|v| v.clone())) @@ -65,7 +65,7 @@ mod tests { use super::*; use primitives::v1::ValidatorId; use crate::configuration::HostConfiguration; - use crate::mock::{new_test_ext, MockGenesisConfig, Shared, Test}; + use crate::mock::{new_test_ext, MockGenesisConfig, ParasShared, Test}; use keyring::Sr25519Keyring; #[test] @@ -88,7 +88,7 @@ mod tests { let pubkeys = validator_pubkeys(&validators); - let shuffled_pubkeys = Shared::initializer_on_new_session( + let shuffled_pubkeys = ParasShared::initializer_on_new_session( 1, [1; 32], &config, @@ -107,7 +107,7 @@ mod tests { ); assert_eq!( - Shared::active_validator_indices(), + ParasShared::active_validator_indices(), vec![ ValidatorIndex(4), ValidatorIndex(1), diff --git a/runtime/parachains/src/runtime_api_impl/v1.rs b/runtime/parachains/src/runtime_api_impl/v1.rs index 73962f8bbb26..dd1bc1416d36 100644 --- a/runtime/parachains/src/runtime_api_impl/v1.rs +++ b/runtime/parachains/src/runtime_api_impl/v1.rs @@ -32,7 +32,7 @@ use crate::{initializer, inclusion, scheduler, configuration, paras, session_inf /// Implementation for the `validators` function of the runtime API. pub fn validators() -> Vec { - >::active_validator_keys() + >::active_validator_keys() } /// Implementation for the `validator_groups` function of the runtime API. @@ -231,7 +231,7 @@ pub fn session_index_for_child() -> SessionIndex { // // Incidentally, this is also the rationale for why it is OK to query validators or // occupied cores or etc. and expect the correct response "for child". - >::session_index() + >::session_index() } /// Implementation for the `AuthorityDiscoveryApi::authorities()` function of the runtime API. diff --git a/runtime/parachains/src/scheduler.rs b/runtime/parachains/src/scheduler.rs index d7bf7dbe24a8..067d4429551d 100644 --- a/runtime/parachains/src/scheduler.rs +++ b/runtime/parachains/src/scheduler.rs @@ -740,7 +740,7 @@ mod tests { }; use keyring::Sr25519Keyring; - use crate::mock::{new_test_ext, Configuration, Paras, Shared, System, Scheduler, MockGenesisConfig}; + use crate::mock::{new_test_ext, Configuration, Paras, ParasShared, System, Scheduler, MockGenesisConfig}; use crate::initializer::SessionChangeNotification; use crate::configuration::HostConfiguration; use crate::paras::ParaGenesisArgs; @@ -767,7 +767,7 @@ mod tests { let mut notification_with_session_index = notification; // We will make every session change trigger an action queue. Normally this may require 2 or more session changes. if notification_with_session_index.session_index == SessionIndex::default() { - notification_with_session_index.session_index = Shared::scheduled_session(); + notification_with_session_index.session_index = ParasShared::scheduled_session(); } Paras::initializer_on_new_session(¬ification_with_session_index); Scheduler::initializer_on_new_session(¬ification_with_session_index); diff --git a/runtime/parachains/src/session_info.rs b/runtime/parachains/src/session_info.rs index 159d966a86d2..8ec0b5638b40 100644 --- a/runtime/parachains/src/session_info.rs +++ b/runtime/parachains/src/session_info.rs @@ -89,7 +89,7 @@ impl Module { let validators = notification.validators.clone(); let discovery_keys = ::authorities(); let assignment_keys = AssignmentKeysUnsafe::get(); - let active_set = >::active_validator_indices(); + let active_set = >::active_validator_indices(); let validator_groups = >::validator_groups(); let n_cores = >::availability_cores().len() as u32; @@ -169,7 +169,7 @@ mod tests { use super::*; use crate::mock::{ new_test_ext, Configuration, SessionInfo, System, MockGenesisConfig, - Origin, Shared, + Origin, ParasShared, }; use crate::initializer::SessionChangeNotification; use crate::configuration::HostConfiguration; @@ -185,14 +185,14 @@ mod tests { let b = System::block_number(); SessionInfo::initializer_finalize(); - Shared::initializer_finalize(); + ParasShared::initializer_finalize(); Configuration::initializer_finalize(); if let Some(notification) = new_session(b + 1) { Configuration::initializer_on_new_session( ¬ification.session_index, ); - Shared::initializer_on_new_session( + ParasShared::initializer_on_new_session( notification.session_index, notification.random_seed, ¬ification.new_config, @@ -207,7 +207,7 @@ mod tests { System::set_block_number(b + 1); Configuration::initializer_initialize(b + 1); - Shared::initializer_initialize(b + 1); + ParasShared::initializer_initialize(b + 1); SessionInfo::initializer_initialize(b + 1); } } @@ -342,12 +342,12 @@ mod tests { let validators = take_active_subset(&active_set, &unscrambled_validators); new_test_ext(genesis_config()).execute_with(|| { - Shared::set_active_validators_with_indices( + ParasShared::set_active_validators_with_indices( active_set.clone(), validators.clone(), ); - assert_eq!(Shared::active_validator_indices(), active_set); + assert_eq!(ParasShared::active_validator_indices(), active_set); AssignmentKeysUnsafe::set(unscrambled_assignment.clone()); crate::mock::set_discovery_authorities(unscrambled_discovery.clone()); diff --git a/runtime/parachains/src/shared.rs b/runtime/parachains/src/shared.rs index 2cc51b1368e8..1efc3e89adae 100644 --- a/runtime/parachains/src/shared.rs +++ b/runtime/parachains/src/shared.rs @@ -14,16 +14,13 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! A module for any shared state that other pallets may want access to. +//! A pallet for any shared state that other pallets may want access to. //! -//! To avoid cyclic dependencies, it is important that this module is not -//! dependent on any of the other modules. +//! To avoid cyclic dependencies, it is important that this pallet is not +//! dependent on any of the other pallets. use primitives::v1::{SessionIndex, ValidatorId, ValidatorIndex}; -use frame_support::{ - decl_storage, decl_module, decl_error, - weights::Weight, -}; +use frame_support::pallet_prelude::*; use sp_std::vec::Vec; use rand::{SeedableRng, seq::SliceRandom}; @@ -31,44 +28,52 @@ use rand_chacha::ChaCha20Rng; use crate::configuration::HostConfiguration; -pub trait Config: frame_system::Config { } +pub use pallet::*; // `SESSION_DELAY` is used to delay any changes to Paras registration or configurations. // Wait until the session index is 2 larger then the current index to apply any changes, // which guarantees that at least one full session has passed before any changes are applied. pub(crate) const SESSION_DELAY: SessionIndex = 2; -decl_storage! { - trait Store for Module as ParasShared { - /// The current session index. - CurrentSessionIndex get(fn session_index): SessionIndex; - /// All the validators actively participating in parachain consensus. - /// Indices are into the broader validator set. - ActiveValidatorIndices get(fn active_validator_indices): Vec; - /// The parachain attestation keys of the validators actively participating in parachain consensus. - /// This should be the same length as `ActiveValidatorIndices`. - ActiveValidatorKeys get(fn active_validator_keys): Vec; - } -} +#[frame_support::pallet] +pub mod pallet { + use super::*; -decl_error! { - pub enum Error for Module { } -} + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); -decl_module! { - /// The session info module. - pub struct Module for enum Call where origin: ::Origin { - type Error = Error; - } + #[pallet::config] + pub trait Config: frame_system::Config {} + + /// The current session index. + #[pallet::storage] + #[pallet::getter(fn session_index)] + pub(super) type CurrentSessionIndex = StorageValue<_, SessionIndex, ValueQuery>; + + /// All the validators actively participating in parachain consensus. + /// Indices are into the broader validator set. + #[pallet::storage] + #[pallet::getter(fn active_validator_indices)] + pub(super) type ActiveValidatorIndices = StorageValue<_, Vec, ValueQuery>; + + /// The parachain attestation keys of the validators actively participating in parachain consensus. + /// This should be the same length as `ActiveValidatorIndices`. + #[pallet::storage] + #[pallet::getter(fn active_validator_keys)] + pub(super) type ActiveValidatorKeys = StorageValue<_, Vec, ValueQuery>; + + #[pallet::call] + impl Pallet {} } -impl Module { - /// Called by the initializer to initialize the configuration module. +impl Pallet { + /// Called by the initializer to initialize the configuration pallet. pub(crate) fn initializer_initialize(_now: T::BlockNumber) -> Weight { 0 } - /// Called by the initializer to finalize the configuration module. + /// Called by the initializer to finalize the configuration pallet. pub(crate) fn initializer_finalize() { } /// Called by the initializer to note that a new session has started. @@ -80,7 +85,7 @@ impl Module { new_config: &HostConfiguration, all_validators: Vec, ) -> Vec { - CurrentSessionIndex::set(session_index); + CurrentSessionIndex::::set(session_index); let mut rng: ChaCha20Rng = SeedableRng::from_seed(random_seed); let mut shuffled_indices: Vec<_> = (0..all_validators.len()) @@ -99,8 +104,8 @@ impl Module { &all_validators, ); - ActiveValidatorIndices::set(shuffled_indices); - ActiveValidatorKeys::set(active_validator_keys.clone()); + ActiveValidatorIndices::::set(shuffled_indices); + ActiveValidatorKeys::::set(active_validator_keys.clone()); active_validator_keys } @@ -113,15 +118,15 @@ impl Module { /// Test function for setting the current session index. #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] pub fn set_session_index(index: SessionIndex) { - CurrentSessionIndex::set(index); + CurrentSessionIndex::::set(index); } #[cfg(test)] pub(crate) fn set_active_validators_ascending(active: Vec) { - ActiveValidatorIndices::set( + ActiveValidatorIndices::::set( (0..active.len()).map(|i| ValidatorIndex(i as _)).collect() ); - ActiveValidatorKeys::set(active); + ActiveValidatorKeys::::set(active); } #[cfg(test)] @@ -130,8 +135,8 @@ impl Module { keys: Vec, ) { assert_eq!(indices.len(), keys.len()); - ActiveValidatorIndices::set(indices); - ActiveValidatorKeys::set(keys); + ActiveValidatorIndices::::set(indices); + ActiveValidatorKeys::::set(keys); } } @@ -139,7 +144,7 @@ impl Module { mod tests { use super::*; use crate::configuration::HostConfiguration; - use crate::mock::{new_test_ext, MockGenesisConfig, Shared}; + use crate::mock::{new_test_ext, MockGenesisConfig, ParasShared}; use keyring::Sr25519Keyring; fn validator_pubkeys(val_ids: &[Sr25519Keyring]) -> Vec { @@ -162,7 +167,7 @@ mod tests { let pubkeys = validator_pubkeys(&validators); new_test_ext(MockGenesisConfig::default()).execute_with(|| { - let validators = Shared::initializer_on_new_session( + let validators = ParasShared::initializer_on_new_session( 1, [1; 32], &config, @@ -181,12 +186,12 @@ mod tests { ); assert_eq!( - Shared::active_validator_keys(), + ParasShared::active_validator_keys(), validators, ); assert_eq!( - Shared::active_validator_indices(), + ParasShared::active_validator_indices(), vec![ ValidatorIndex(4), ValidatorIndex(1), @@ -214,7 +219,7 @@ mod tests { let pubkeys = validator_pubkeys(&validators); new_test_ext(MockGenesisConfig::default()).execute_with(|| { - let validators = Shared::initializer_on_new_session( + let validators = ParasShared::initializer_on_new_session( 1, [1; 32], &config, @@ -230,12 +235,12 @@ mod tests { ); assert_eq!( - Shared::active_validator_keys(), + ParasShared::active_validator_keys(), validators, ); assert_eq!( - Shared::active_validator_indices(), + ParasShared::active_validator_indices(), vec![ ValidatorIndex(4), ValidatorIndex(1), diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index bc3cdd6e199d..9f9f601bd1d6 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -213,7 +213,7 @@ construct_runtime! { // Parachains modules. ParachainsOrigin: parachains_origin::{Pallet, Origin}, ParachainsConfiguration: parachains_configuration::{Pallet, Call, Storage, Config}, - Shared: parachains_shared::{Pallet, Call, Storage}, + ParasShared: parachains_shared::{Pallet, Call, Storage}, ParaInclusion: parachains_inclusion::{Pallet, Call, Storage, Event}, ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent}, Scheduler: parachains_scheduler::{Pallet, Call, Storage}, diff --git a/runtime/test-runtime/src/lib.rs b/runtime/test-runtime/src/lib.rs index 03ad07768f20..78d6e821e281 100644 --- a/runtime/test-runtime/src/lib.rs +++ b/runtime/test-runtime/src/lib.rs @@ -540,6 +540,7 @@ construct_runtime! { ParasInherent: parachains_paras_inherent::{Pallet, Call, Storage, Inherent}, Initializer: parachains_initializer::{Pallet, Call, Storage}, Paras: parachains_paras::{Pallet, Call, Storage, Origin, Event}, + ParasShared: parachains_shared::{Pallet, Call, Storage}, Scheduler: parachains_scheduler::{Pallet, Call, Storage}, ParasSudoWrapper: paras_sudo_wrapper::{Pallet, Call}, SessionInfo: parachains_session_info::{Pallet, Call, Storage},