From b01a91e5b5fe4e84dedc5755a124113202e2c87c Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Tue, 28 Mar 2023 18:58:15 +1300 Subject: [PATCH 1/2] fix unknown-tokens migration --- unknown-tokens/Cargo.toml | 1 + unknown-tokens/src/migrations.rs | 7 +++++-- unknown-tokens/src/tests.rs | 14 +++++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/unknown-tokens/Cargo.toml b/unknown-tokens/Cargo.toml index 383778f55..bbacff904 100644 --- a/unknown-tokens/Cargo.toml +++ b/unknown-tokens/Cargo.toml @@ -24,6 +24,7 @@ orml-xcm-support = { path = "../xcm-support", default-features = false } sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" } sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.39" } +hex-literal = "0.3.1" [features] default = ["std"] diff --git a/unknown-tokens/src/migrations.rs b/unknown-tokens/src/migrations.rs index 69a4fa309..26c6118a2 100644 --- a/unknown-tokens/src/migrations.rs +++ b/unknown-tokens/src/migrations.rs @@ -31,7 +31,9 @@ mod v2 { weight.saturating_accrue(T::DbWeight::get().reads(1)); - let old_data = storage_iter::(module_prefix, storage_prefix).drain(); + let old_data = storage_iter::(module_prefix, storage_prefix) + .drain() + .collect::>(); for (raw_k, value) in old_data { let mut full_key = Vec::new(); @@ -42,6 +44,7 @@ mod v2 { Decode::decode(&mut k1_k2_material).expect("Stored k1 xcm::v2::MultiLocation"); let mut k2_material = Blake2_128Concat::reverse(k1_k2_material); + println!("k2_material: {:?}", k2_material); let k2: xcm::v2::MultiLocation = Decode::decode(&mut k2_material).expect("Stored k2 xcm::v2::MultiLocation"); @@ -59,7 +62,7 @@ mod v2 { let old_data = storage_iter::(module_prefix, storage_prefix) .drain() - .collect::>(); + .collect::>(); for (raw_k, value) in old_data { let mut full_key = Vec::new(); diff --git a/unknown-tokens/src/tests.rs b/unknown-tokens/src/tests.rs index 45d699ddb..66d573cc6 100644 --- a/unknown-tokens/src/tests.rs +++ b/unknown-tokens/src/tests.rs @@ -7,7 +7,10 @@ use mock::*; use frame_support::{ assert_err, assert_ok, - storage::migration::{get_storage_value, put_storage_value}, + storage::{ + migration::{get_storage_value, put_storage_value}, + unhashed::put_raw, + }, traits::OnRuntimeUpgrade, }; @@ -250,3 +253,12 @@ fn from_unversioned_to_v2_storage() { assert_eq!(crate::Migration::::on_runtime_upgrade(), Weight::zero()); }); } + +#[test] +fn migrate_should_not_panic() { + ExtBuilder.build().execute_with(|| { + put_raw(&hex_literal::hex!["8d4649c9ee31ba6b2d10c66f5fcc252e76391a415c3fca956dccff701fe02e98082b3a7e1c0db7de23c07c6f14cc6c51000100411f728d113b5f9fee983dba4cbb22827c05000106080081"], &hex_literal::hex!["0b2493d4010000000000000000000000"]); + + crate::Migration::::on_runtime_upgrade(); + }); +} From 0029582afc356c577a8736fc954c396ea6386892 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Tue, 28 Mar 2023 18:58:56 +1300 Subject: [PATCH 2/2] remove debug print --- unknown-tokens/src/migrations.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/unknown-tokens/src/migrations.rs b/unknown-tokens/src/migrations.rs index 26c6118a2..9c866d30c 100644 --- a/unknown-tokens/src/migrations.rs +++ b/unknown-tokens/src/migrations.rs @@ -44,7 +44,6 @@ mod v2 { Decode::decode(&mut k1_k2_material).expect("Stored k1 xcm::v2::MultiLocation"); let mut k2_material = Blake2_128Concat::reverse(k1_k2_material); - println!("k2_material: {:?}", k2_material); let k2: xcm::v2::MultiLocation = Decode::decode(&mut k2_material).expect("Stored k2 xcm::v2::MultiLocation");