git.delta.rocks / unique-network / refs/commits / 8545aff0545e

difftreelog

feat use state_version = 1

Yaroslav Bolyukin2023-05-31parent: #fbb698d.patch.diff
in: master

10 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5892,6 +5892,7 @@
  "pallet-preimage",
  "pallet-refungible",
  "pallet-session",
+ "pallet-state-trie-migration",
  "pallet-structure",
  "pallet-sudo",
  "pallet-template-transaction-payment",
@@ -9395,6 +9396,7 @@
  "pallet-preimage",
  "pallet-refungible",
  "pallet-session",
+ "pallet-state-trie-migration",
  "pallet-structure",
  "pallet-sudo",
  "pallet-template-transaction-payment",
@@ -13812,6 +13814,7 @@
  "pallet-preimage",
  "pallet-refungible",
  "pallet-session",
+ "pallet-state-trie-migration",
  "pallet-structure",
  "pallet-sudo",
  "pallet-template-transaction-payment",
modifiedCargo.tomldiffbeforeafterboth
after · Cargo.toml
1[workspace]2default-members = ['client/*', 'node/*', 'runtime/opal']3members = [4	'client/*',5	'crates/*',6	'node/*',7	'pallets/*',8	'primitives/*',9	'runtime/opal',10	'runtime/quartz',11	'runtime/tests',12	'runtime/unique',13]14package.version = "0.9.41"15resolver = "2"1617[profile.release]18# Runtime requires unwinding19panic = "unwind"2021[profile.production]22codegen-units = 123inherits = "release"24lto = true25opt-level = 32627[workspace.dependencies]28# Unique29app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }30evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.1", default-features = false }31pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }32pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" }33pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.42" }34pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }35pallet-common = { default-features = false, path = "pallets/common" }36pallet-configuration = { default-features = false, path = "pallets/configuration" }37pallet-evm-coder-substrate = { default-features = false, path = "pallets/evm-coder-substrate" }38pallet-evm-contract-helpers = { path = "pallets/evm-contract-helpers", default-features = false }39pallet-evm-migration = { path = "pallets/evm-migration", default-features = false }40pallet-evm-transaction-payment = { path = "pallets/evm-transaction-payment", default-features = false }41pallet-foreign-assets = { default-features = false, path = "pallets/foreign-assets" }42pallet-fungible = { default-features = false, path = "pallets/fungible" }43pallet-identity = { default-features = false, path = "pallets/identity" }44pallet-inflation = { path = "pallets/inflation", default-features = false }45pallet-maintenance = { default-features = false, path = "pallets/maintenance" }46pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }47pallet-refungible = { default-features = false, path = "pallets/refungible" }48pallet-structure = { default-features = false, path = "pallets/structure" }49pallet-test-utils = { default-features = false, path = "test-pallets/utils" }50pallet-unique = { path = "pallets/unique", default-features = false }51pallet-unique-scheduler-v2 = { path = "pallets/scheduler-v2", default-features = false }52precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }53struct-versioning = { path = "crates/struct-versioning" }54uc-rpc = { path = "client/rpc" }55unique-rpc = { path = "node/rpc" }56up-common = { path = "primitives/common", default-features = false }57up-data-structs = { path = "primitives/data-structs", default-features = false }58up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }59up-rpc = { path = "primitives/rpc", default-features = false }60up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.42" }6162# Unique: Runtimes63opal-runtime = { path = "runtime/opal" }64quartz-runtime = { path = "runtime/quartz" }65unique-runtime = { path = "runtime/unique" }6667# Frontier (Unique patches over the Parity version)68fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }69fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }70fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }71fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }72fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }73fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }74fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }75fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }76fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }77pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }78pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }79pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }80pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42" }8182# Parity83codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.2.2" }84cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }85cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }86cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }87cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }88cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }89cumulus-pallet-aura-ext = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }90cumulus-pallet-dmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }91cumulus-pallet-parachain-system = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }92cumulus-pallet-xcm = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }93cumulus-pallet-xcmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }94cumulus-primitives-core = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }95cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }96cumulus-primitives-timestamp = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }97cumulus-primitives-utility = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }98cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }99cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }100cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }101frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }102frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }103frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }104frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }105pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }106pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }107pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }108pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }109pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }110pallet-state-trie-migration = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }111pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }112pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }113pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }114pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }115pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }116pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }117pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }118parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }119polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }120polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }121polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }122polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }123sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }124sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }125sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }126sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }127sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }128sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }129sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }130sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }131sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }132sc-network-sync = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }133sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }134sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }135sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }136sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }137sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }138sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }139sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }140scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }141sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }142sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }143sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }144sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }145sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }146sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }147sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }148sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }149sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }150sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }151sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }152sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }153sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }154sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }155sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }156sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }157sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }158sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }159sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }160sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }161sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }162substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }163substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }164xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }165xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }166xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }167168# Parity: Build utils169substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }170substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }171172# Parity: Benchmarking173frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }174frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }175frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }176177# Parity: Try Runtime178frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }179try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }180181# ORML182orml-tokens = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }183orml-traits = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }184orml-vesting = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }185orml-xcm-support = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }186orml-xtokens = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }187188# Other189derivative = { version = "2.2.0", features = ["use_core"] }190ethereum = { version = "0.14.0", default-features = false }191evm-core = { default-features = false, version = "0.37.0" }192hex-literal = "0.4.1"193impl-trait-for-tuples = "0.2.2"194jsonrpsee = { version = "0.16.2", features = ["macros", "server"] }195log = { version = "0.4.16", default-features = false }196num_enum = { version = "0.5.3", default-features = false }197serde = { default-features = false, features = ['derive'], version = "1.0.136" }198smallvec = "1.6.1"
modifiedruntime/common/config/substrate.rsdiffbeforeafterboth
--- a/runtime/common/config/substrate.rs
+++ b/runtime/common/config/substrate.rs
@@ -31,7 +31,7 @@
 use sp_arithmetic::traits::One;
 use frame_system::{
 	limits::{BlockLength, BlockWeights},
-	EnsureRoot,
+	EnsureRoot, EnsureNever,
 };
 use pallet_transaction_payment::{Multiplier, ConstFeeMultiplier};
 use crate::{
@@ -116,6 +116,22 @@
 }
 
 parameter_types! {
+	pub const MigrationMaxKeyLen: u32 = 512;
+}
+
+impl pallet_state_trie_migration::Config for Runtime {
+	type WeightInfo = pallet_state_trie_migration::weights::SubstrateWeight<Self>;
+	type RuntimeEvent = RuntimeEvent;
+	type Currency = Balances;
+	type SignedDepositPerItem = ();
+	type SignedDepositBase = ();
+	type ControlOrigin = EnsureRoot<AccountId>;
+	// Only root can perform this migration
+	type SignedFilter = EnsureNever<AccountId>;
+	type MaxKeyLen = MigrationMaxKeyLen;
+}
+
+parameter_types! {
 	pub const MinimumPeriod: u64 = SLOT_DURATION / 2;
 }
 
modifiedruntime/common/construct_runtime.rsdiffbeforeafterboth
--- a/runtime/common/construct_runtime.rs
+++ b/runtime/common/construct_runtime.rs
@@ -25,6 +25,7 @@
 				UncheckedExtrinsic = UncheckedExtrinsic
 			{
 				System: frame_system = 0,
+				StateTrieMigration: pallet_state_trie_migration = 1,
 
 				ParachainSystem: cumulus_pallet_parachain_system = 20,
 				ParachainInfo: parachain_info = 21,
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -73,6 +73,7 @@
 	"pallet-authorship/std",
 	"pallet-preimage/std",
 	"pallet-session/std",
+	"pallet-state-trie-migration/std",
 	"sp-consensus-aura/std",
 	'app-promotion-rpc/std',
 	'evm-coder/std',
@@ -225,6 +226,7 @@
 pallet-balances = { features = ["insecure_zero_ed"], workspace = true }
 pallet-preimage = { workspace = true }
 pallet-session = { workspace = true }
+pallet-state-trie-migration = { workspace = true }
 pallet-sudo = { workspace = true }
 pallet-timestamp = { workspace = true }
 pallet-transaction-payment = { workspace = true }
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -56,7 +56,7 @@
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
-	state_version: 0,
+	state_version: 1,
 };
 
 parameter_types! {
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -75,6 +75,7 @@
 	"pallet-identity/std",
 	"pallet-preimage/std",
 	"pallet-session/std",
+	"pallet-state-trie-migration/std",
 	"sp-consensus-aura/std",
 	'app-promotion-rpc/std',
 	'evm-coder/std',
@@ -217,6 +218,7 @@
 pallet-balances = { features = ["insecure_zero_ed"], workspace = true }
 pallet-preimage = { workspace = true }
 pallet-session = { workspace = true }
+pallet-state-trie-migration = { workspace = true }
 pallet-sudo = { workspace = true }
 pallet-timestamp = { workspace = true }
 pallet-transaction-payment = { workspace = true }
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -59,7 +59,7 @@
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
-	state_version: 0,
+	state_version: 1,
 };
 
 parameter_types! {
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -72,6 +72,7 @@
 	"pallet-identity/std",
 	"pallet-preimage/std",
 	"pallet-session/std",
+	"pallet-state-trie-migration/std",
 	"sp-consensus-aura/std",
 	'app-promotion-rpc/std',
 	'evm-coder/std',
@@ -216,6 +217,7 @@
 pallet-balances = { features = ["insecure_zero_ed"], workspace = true }
 pallet-preimage = { workspace = true }
 pallet-session = { workspace = true }
+pallet-state-trie-migration = { workspace = true }
 pallet-sudo = { workspace = true }
 pallet-timestamp = { workspace = true }
 pallet-transaction-payment = { workspace = true }
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -56,7 +56,7 @@
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
-	state_version: 0,
+	state_version: 1,
 };
 
 parameter_types! {