mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 09:51:02 +00:00
optionally read pending configs in migration (#7489)
This commit is contained in:
@@ -156,9 +156,8 @@ executor_params : pre.executor_params,
|
|||||||
let v7 = translate(v6);
|
let v7 = translate(v6);
|
||||||
v7::ActiveConfig::<T>::set(Some(v7));
|
v7::ActiveConfig::<T>::set(Some(v7));
|
||||||
|
|
||||||
let pending_v6 = v6::PendingConfigs::<T>::get()
|
// Allowed to be empty.
|
||||||
.defensive_proof("Could not decode old pending")
|
let pending_v6 = v6::PendingConfigs::<T>::get().unwrap_or_default();
|
||||||
.unwrap_or_default();
|
|
||||||
let mut pending_v7 = Vec::new();
|
let mut pending_v7 = Vec::new();
|
||||||
|
|
||||||
for (session, v6) in pending_v6.into_iter() {
|
for (session, v6) in pending_v6.into_iter() {
|
||||||
@@ -291,4 +290,20 @@ mod tests {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test that migration doesn't panic in case there're no pending configurations upgrades in pallet's storage.
|
||||||
|
#[test]
|
||||||
|
fn test_migrate_to_v7_no_pending() {
|
||||||
|
let v6 = V6HostConfiguration::<primitives::BlockNumber>::default();
|
||||||
|
|
||||||
|
new_test_ext(Default::default()).execute_with(|| {
|
||||||
|
// Implant the v6 version in the state.
|
||||||
|
v6::ActiveConfig::<Test>::set(Some(v6));
|
||||||
|
// Ensure there're no pending configs.
|
||||||
|
v6::PendingConfigs::<Test>::set(None);
|
||||||
|
|
||||||
|
// Shouldn't fail.
|
||||||
|
migrate_to_v7::<Test>();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user