Rename BagsList to VoterList and Add Score (#5463)

* add migration for simple pallet rename

* fmt

* also add score migration

* add try-runtime feature to bags list

* add pre_upgrade to pallet rename

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>
This commit is contained in:
Shawn Tabrizi
2022-05-19 14:33:24 -04:00
committed by GitHub
parent 4060017059
commit b61c7515d7
7 changed files with 240 additions and 188 deletions
+1
View File
@@ -227,6 +227,7 @@ try-runtime = [
"pallet-authorship/try-runtime",
"pallet-authority-discovery/try-runtime",
"pallet-balances/try-runtime",
"pallet-bags-list/try-runtime",
"pallet-transaction-payment/try-runtime",
"pallet-collective/try-runtime",
"pallet-elections-phragmen/try-runtime",
+20 -5
View File
@@ -498,7 +498,7 @@ impl pallet_staking::Config for Runtime {
type NextNewSession = Session;
type ElectionProvider = ElectionProviderMultiPhase;
type GenesisElectionProvider = onchain::UnboundedExecution<OnChainSeqPhragmen>;
type VoterList = BagsList;
type VoterList = VoterList;
type MaxUnlockingChunks = frame_support::traits::ConstU32<32>;
type BenchmarkingConfig = runtime_common::StakingBenchmarkingConfig;
type OnStakerSlash = ();
@@ -792,7 +792,7 @@ impl InstanceFilter<Call> for ProxyType {
Call::Crowdloan(..) |
Call::Slots(..) |
Call::Auctions(..) | // Specifically omitting the entire XCM Pallet
Call::BagsList(..) |
Call::VoterList(..) |
Call::NominationPools(..)
),
ProxyType::Staking => {
@@ -1098,7 +1098,7 @@ construct_runtime! {
ElectionProviderMultiPhase: pallet_election_provider_multi_phase::{Pallet, Call, Storage, Event<T>, ValidateUnsigned} = 24,
// Provides a semi-sorted list of nominators for staking.
BagsList: pallet_bags_list::{Pallet, Call, Storage, Event<T>} = 25,
VoterList: pallet_bags_list::{Pallet, Call, Storage, Event<T>} = 25,
// Nomination pools for staking.
NominationPools: pallet_nomination_pools::{Pallet, Call, Storage, Event<T>, Config<T>} = 29,
@@ -1161,11 +1161,26 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
(),
(RenameBagsListToVoterList, pallet_bags_list::migrations::AddScore<Runtime>),
>;
/// The payload being signed in transactions.
pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>;
/// A migration which renames the pallet `BagsList` to `VoterList`
pub struct RenameBagsListToVoterList;
impl frame_support::traits::OnRuntimeUpgrade for RenameBagsListToVoterList {
#[cfg(feature = "try-runtime")]
fn pre_upgrade() -> Result<(), &'static str> {
// For other pre-upgrade checks, we need the storage to already be migrated.
frame_support::storage::migration::move_pallet(b"BagsList", b"VoterList");
Ok(())
}
fn on_runtime_upgrade() -> frame_support::weights::Weight {
frame_support::storage::migration::move_pallet(b"BagsList", b"VoterList");
frame_support::weights::Weight::MAX
}
}
#[cfg(feature = "runtime-benchmarks")]
#[macro_use]
extern crate frame_benchmarking;
@@ -1188,7 +1203,7 @@ mod benches {
[runtime_parachains::paras_inherent, ParaInherent]
[runtime_parachains::ump, Ump]
// Substrate
[pallet_bags_list, BagsList]
[pallet_bags_list, VoterList]
[pallet_balances, Balances]
[pallet_election_provider_multi_phase, ElectionProviderMultiPhase]
[frame_election_provider_support, ElectionProviderBench::<Runtime>]