From 3cbbf1e382dd440289c6c49f6b1dad02be27c8ac Mon Sep 17 00:00:00 2001 From: zjb0807 Date: Sun, 10 Nov 2024 10:28:26 +0800 Subject: [PATCH] update state version to 1 on acala (#2799) * update state version to 1 on acala * add migration to clean StateTrieMigration * fix --- Cargo.lock | 2 +- runtime/acala/Cargo.toml | 4 ++++ runtime/acala/src/lib.rs | 30 +++++++++++++++++++++++++++++- runtime/karura/Cargo.toml | 4 ---- runtime/karura/src/lib.rs | 34 +++++----------------------------- 5 files changed, 39 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3300b7ea6..4c6880209 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -123,6 +123,7 @@ dependencies = [ "pallet-proxy", "pallet-scheduler", "pallet-session", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-tips", @@ -2921,7 +2922,6 @@ dependencies = [ "pallet-proxy", "pallet-scheduler", "pallet-session", - "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-tips", diff --git a/runtime/acala/Cargo.toml b/runtime/acala/Cargo.toml index f8f2236db..c6336056b 100644 --- a/runtime/acala/Cargo.toml +++ b/runtime/acala/Cargo.toml @@ -55,6 +55,7 @@ sp-staking = { workspace = true } sp-std = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } +pallet-state-trie-migration = { workspace = true, optional = true } # cumulus cumulus-pallet-aura-ext = { workspace = true } @@ -199,6 +200,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "pallet-state-trie-migration/std", "cumulus-pallet-aura-ext/std", "cumulus-pallet-parachain-system/std", @@ -295,6 +297,7 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", + "pallet-state-trie-migration/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", @@ -355,6 +358,7 @@ try-runtime = [ "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", "pallet-utility/try-runtime", + "pallet-state-trie-migration/try-runtime", "cumulus-pallet-aura-ext/try-runtime", "cumulus-pallet-parachain-system/try-runtime", diff --git a/runtime/acala/src/lib.rs b/runtime/acala/src/lib.rs index 0dc11d856..2bb471df0 100644 --- a/runtime/acala/src/lib.rs +++ b/runtime/acala/src/lib.rs @@ -132,7 +132,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 3, - state_version: 0, + state_version: 1, }; /// The version information used to identify this runtime when compiled @@ -1831,6 +1831,32 @@ impl orml_parameters::Config for Runtime { type WeightInfo = (); } +frame_support::ord_parameter_types! { + pub const MigController: AccountId = AccountId::from(hex_literal::hex!("ec68c9ec1f6233f3d8169e06e2c94df703c45c05eef923169bf2703b08797315")); +} + +parameter_types! { + // The deposit configuration for the singed migration. Specially if you want to allow any signed account to do the migration (see `SignedFilter`, these deposits should be high) + pub MigrationSignedDepositPerItem: Balance = dollar(ACA); + pub MigrationSignedDepositBase: Balance = dollar(ACA); + pub const MigrationMaxKeyLen: u32 = 512; +} + +impl pallet_state_trie_migration::Config for Runtime { + // An origin that can control the whole pallet: should be Root, or a part of your council. + type ControlOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; + // specific account for the migration, can trigger the signed migrations. + type SignedFilter = frame_system::EnsureSignedBy; + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type RuntimeHoldReason = RuntimeHoldReason; + type MaxKeyLen = MigrationMaxKeyLen; + type SignedDepositPerItem = MigrationSignedDepositPerItem; + type SignedDepositBase = MigrationSignedDepositBase; + // Replace this with weight based on your runtime. + type WeightInfo = pallet_state_trie_migration::weights::SubstrateWeight; +} + construct_runtime!( pub enum Runtime { // Core & Utility @@ -1940,6 +1966,8 @@ construct_runtime!( // Parachain System, always put it at the end ParachainSystem: cumulus_pallet_parachain_system = 30, + StateTrieMigration: pallet_state_trie_migration = 254, + // Temporary Sudo: pallet_sudo = 255, } diff --git a/runtime/karura/Cargo.toml b/runtime/karura/Cargo.toml index a53e8b1d3..c90a5a5e7 100644 --- a/runtime/karura/Cargo.toml +++ b/runtime/karura/Cargo.toml @@ -55,7 +55,6 @@ sp-staking = { workspace = true } sp-std = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } -pallet-state-trie-migration = { workspace = true, optional = true } # cumulus cumulus-pallet-aura-ext = { workspace = true } @@ -201,7 +200,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "pallet-state-trie-migration/std", "cumulus-pallet-aura-ext/std", "cumulus-pallet-parachain-system/std", @@ -300,7 +298,6 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", - "pallet-state-trie-migration/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", @@ -361,7 +358,6 @@ try-runtime = [ "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", "pallet-utility/try-runtime", - "pallet-state-trie-migration/try-runtime", "cumulus-pallet-aura-ext/try-runtime", "cumulus-pallet-parachain-system/try-runtime", diff --git a/runtime/karura/src/lib.rs b/runtime/karura/src/lib.rs index a62159dcb..f79177e67 100644 --- a/runtime/karura/src/lib.rs +++ b/runtime/karura/src/lib.rs @@ -1838,32 +1838,6 @@ impl orml_parameters::Config for Runtime { type WeightInfo = (); } -frame_support::ord_parameter_types! { - pub const MigController: AccountId = AccountId::from(hex_literal::hex!("ec68c9ec1f6233f3d8169e06e2c94df703c45c05eef923169bf2703b08797315")); -} - -parameter_types! { - // The deposit configuration for the singed migration. Specially if you want to allow any signed account to do the migration (see `SignedFilter`, these deposits should be high) - pub MigrationSignedDepositPerItem: Balance = dollar(KAR); - pub MigrationSignedDepositBase: Balance = dollar(KAR); - pub const MigrationMaxKeyLen: u32 = 512; -} - -impl pallet_state_trie_migration::Config for Runtime { - // An origin that can control the whole pallet: should be Root, or a part of your council. - type ControlOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; - // specific account for the migration, can trigger the signed migrations. - type SignedFilter = frame_system::EnsureSignedBy; - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type RuntimeHoldReason = RuntimeHoldReason; - type MaxKeyLen = MigrationMaxKeyLen; - type SignedDepositPerItem = MigrationSignedDepositPerItem; - type SignedDepositBase = MigrationSignedDepositBase; - // Replace this with weight based on your runtime. - type WeightInfo = pallet_state_trie_migration::weights::SubstrateWeight; -} - construct_runtime!( pub enum Runtime { // Core & Utility @@ -1974,8 +1948,6 @@ construct_runtime!( // Parachain System, always put it at the end ParachainSystem: cumulus_pallet_parachain_system = 30, - StateTrieMigration: pallet_state_trie_migration = 254, - // Temporary Sudo: pallet_sudo = 255, } @@ -2022,8 +1994,12 @@ pub type Executive = frame_executive::Executive< Migrations, >; +parameter_types! { + pub const StateTrieMigrationName: &'static str = "StateTrieMigration"; +} + #[allow(unused_parens)] -type Migrations = (); +type Migrations = (frame_support::migrations::RemovePallet); #[cfg(feature = "runtime-benchmarks")] #[macro_use]