Skip to content

Commit

Permalink
update state version to 1 on acala (#2799)
Browse files Browse the repository at this point in the history
* update state version to 1 on acala

* add migration to clean StateTrieMigration

* fix
  • Loading branch information
zjb0807 authored Nov 10, 2024
1 parent 613470c commit 3cbbf1e
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 35 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions runtime/acala/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
30 changes: 29 additions & 1 deletion runtime/acala/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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<MigController, AccountId>;
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<Runtime>;
}

construct_runtime!(
pub enum Runtime {
// Core & Utility
Expand Down Expand Up @@ -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,
}
Expand Down
4 changes: 0 additions & 4 deletions runtime/karura/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
34 changes: 5 additions & 29 deletions runtime/karura/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<MigController, AccountId>;
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<Runtime>;
}

construct_runtime!(
pub enum Runtime {
// Core & Utility
Expand Down Expand Up @@ -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,
}
Expand Down Expand Up @@ -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<StateTrieMigrationName, RocksDbWeight>);

#[cfg(feature = "runtime-benchmarks")]
#[macro_use]
Expand Down

0 comments on commit 3cbbf1e

Please sign in to comment.