diff --git a/polkadot/runtime/common/src/crowdloan/migration.rs b/polkadot/runtime/common/src/crowdloan/migration.rs index dec19a1ff5..1d29b4a682 100644 --- a/polkadot/runtime/common/src/crowdloan/migration.rs +++ b/polkadot/runtime/common/src/crowdloan/migration.rs @@ -15,12 +15,23 @@ // along with Polkadot. If not, see . use super::*; -use frame_support::{generate_storage_alias, Twox64Concat}; +use frame_support::{storage_alias, Twox64Concat}; /// Migrations for using fund index to create fund accounts instead of para ID. pub mod crowdloan_index_migration { use super::*; + #[storage_alias] + type NextTrieIndex = StorageValue, FundIndex>; + + #[storage_alias] + type Leases = StorageMap< + Slots, + Twox64Concat, + ParaId, + Vec::AccountId, BalanceOf)>>, + >; + // The old way we generated fund accounts. fn old_fund_account_id(index: ParaId) -> T::AccountId { T::PalletId::get().into_sub_account_truncating(index) @@ -28,13 +39,8 @@ pub mod crowdloan_index_migration { pub fn pre_migrate() -> Result<(), &'static str> { // `NextTrieIndex` should have a value. - generate_storage_alias!(Crowdloan, NextTrieIndex => Value); - generate_storage_alias!( - Slots, - Leases => Map<(Twox64Concat, ParaId), Vec)>>> - ); - let next_index = NextTrieIndex::get().unwrap_or_default(); + let next_index = NextTrieIndex::::get().unwrap_or_default(); ensure!(next_index > 0, "Next index is zero, which implies no migration is needed."); log::info!( @@ -87,13 +93,8 @@ pub mod crowdloan_index_migration { let mut weight = 0; // First migrate `NextTrieIndex` counter to `NextFundIndex`. - generate_storage_alias!(Crowdloan, NextTrieIndex => Value); - generate_storage_alias!( - Slots, - Leases => Map<(Twox64Concat, ParaId), Vec)>>> - ); - let next_index = NextTrieIndex::take().unwrap_or_default(); + let next_index = NextTrieIndex::::take().unwrap_or_default(); NextFundIndex::::set(next_index); weight = weight.saturating_add(T::DbWeight::get().reads_writes(1, 2)); @@ -127,13 +128,7 @@ pub mod crowdloan_index_migration { pub fn post_migrate() -> Result<(), &'static str> { // `NextTrieIndex` should not have a value, and `NextFundIndex` should. - generate_storage_alias!(Crowdloan, NextTrieIndex => Value); - ensure!(NextTrieIndex::get().is_none(), "NextTrieIndex still has a value."); - - generate_storage_alias!( - Slots, - Leases => Map<(Twox64Concat, ParaId), Vec)>>> - ); + ensure!(NextTrieIndex::::get().is_none(), "NextTrieIndex still has a value."); let next_index = NextFundIndex::::get(); log::info!(