Ensure all StorageVersions on Rococo/Westend are correct and migration hooks pass (#7251)

* set fastunstake storage version

* fix configration migration hooks

* set missing rococo versions

* remove child bounties version set

* future proof this configuration migration

* simplify rococo migration

* simplify westend version migration

* typo

* restore missing comments

* set configuration storage version correctly

* remove redundant preupgrade version check

* fix version checks

* remove redundant comment
This commit is contained in:
Liam Aharon
2023-05-23 18:47:27 +10:00
committed by GitHub
parent 2b6f0b0194
commit 418e95d4c8
6 changed files with 118 additions and 22 deletions
+84
View File
@@ -1527,6 +1527,7 @@ pub type Migrations =
#[allow(deprecated, missing_docs)]
pub mod migrations {
use super::*;
use frame_support::traits::{GetStorageVersion, OnRuntimeUpgrade, StorageVersion};
pub type V0940 = ();
pub type V0941 = (); // Node only release - no migrations.
@@ -1535,8 +1536,91 @@ pub mod migrations {
pallet_offences::migration::v1::MigrateToV1<Runtime>,
);
/// Migrations that set `StorageVersion`s we missed to set.
///
/// It's *possible* that these pallets have not in fact been migrated to the versions being set,
/// which we should keep in mind in the future if we notice any strange behavior.
/// We opted to not check exactly what on-chain versions each pallet is at, since it would be
/// an involved effort, this is testnet, and no one has complained
/// (https://github.com/paritytech/polkadot/issues/6657#issuecomment-1552956439).
pub struct SetStorageVersions;
impl OnRuntimeUpgrade for SetStorageVersions {
fn on_runtime_upgrade() -> Weight {
let mut writes = 0;
let mut reads = 0;
// Council
if Council::on_chain_storage_version() < 4 {
// Safe to assume Council was created with V4 pallet.
StorageVersion::new(4).put::<Council>();
writes += 1;
}
reads += 1;
// Technical Committee
if TechnicalCommittee::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<TechnicalCommittee>();
writes += 1;
}
reads += 1;
// PhragmenElection
if PhragmenElection::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<PhragmenElection>();
writes += 1;
}
reads += 1;
// TechnicalMembership
if TechnicalMembership::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<TechnicalMembership>();
writes += 1;
}
reads += 1;
// Scheduler
if Scheduler::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<Scheduler>();
writes += 1;
}
reads += 1;
// Bounties
if Bounties::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<Bounties>();
writes += 1;
}
reads += 1;
// Tips
if Tips::on_chain_storage_version() < 4 {
StorageVersion::new(4).put::<Tips>();
writes += 1;
}
reads += 1;
// NisCounterpartBalances
if NisCounterpartBalances::on_chain_storage_version() < 1 {
StorageVersion::new(1).put::<NisCounterpartBalances>();
writes += 1;
}
reads += 1;
// Crowdloan
if Crowdloan::on_chain_storage_version() < 2 {
StorageVersion::new(2).put::<Crowdloan>();
writes += 1;
}
reads += 1;
RocksDbWeight::get().reads_writes(reads, writes)
}
}
/// Unreleased migrations. Add new ones here:
pub type Unreleased = (
SetStorageVersions,
// Remove UMP dispatch queue <https://github.com/paritytech/polkadot/pull/6271>
parachains_configuration::migration::v6::MigrateToV6<Runtime>,
ump_migrations::UpdateUmpLimits,