diff --git a/polkadot/runtime/parachains/src/paras/mod.rs b/polkadot/runtime/parachains/src/paras/mod.rs index 622969539dc15d46bdcc6baaa158eb4d877e571c..36063b24fd6b2c5ff8c4a9c77b18b12e2ace8d36 100644 --- a/polkadot/runtime/parachains/src/paras/mod.rs +++ b/polkadot/runtime/parachains/src/paras/mod.rs @@ -119,7 +119,7 @@ use codec::{Decode, Encode}; use core::{cmp, mem}; use frame_support::{ dispatch::PostDispatchInfo, pallet_prelude::*, traits::EstimateNextSessionRotation, - DefaultNoBound + DefaultNoBound, }; use frame_system::pallet_prelude::*; use polkadot_primitives::{ @@ -661,10 +661,7 @@ pub mod pallet { /// Current code has been updated for a Para. `para_id` CurrentCodeUpdated(ParaId), /// New code hash has been authorized for a Para. - CodeAuthorized { - code_hash: ValidationCodeHash, - para_id: ParaId, - }, + CodeAuthorized { code_hash: ValidationCodeHash, para_id: ParaId }, /// Current head has been updated for a Para. `para_id` CurrentHeadUpdated(ParaId), /// A code upgrade has been scheduled for a Para. `para_id` @@ -809,7 +806,8 @@ pub mod pallet { /// The code hash of a para which is authorized. #[pallet::storage] - pub(super) type AuthorizedCodeHash<T: Config> = StorageMap<_, Twox64Concat, ParaId, ValidationCodeHash>; + pub(super) type AuthorizedCodeHash<T: Config> = + StorageMap<_, Twox64Concat, ParaId, ValidationCodeHash>; /// This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade /// procedure. @@ -1184,7 +1182,8 @@ pub mod pallet { ) -> DispatchResult { ensure_root(origin)?; - // if one is already authorized, means it has not been applied yet, so we just replace it. + // if one is already authorized, means it has not been applied yet, so we just replace + // it. if let Some(already_authorized) = AuthorizedCodeHash::<T>::take(para) { log::warn!( target: LOG_TARGET, @@ -1199,10 +1198,7 @@ pub mod pallet { // insert authorized code hash. AuthorizedCodeHash::<T>::insert(¶, new_code_hash); - Self::deposit_event(Event::CodeAuthorized { - para_id: para, - code_hash: new_code_hash, - }); + Self::deposit_event(Event::CodeAuthorized { para_id: para, code_hash: new_code_hash }); Ok(()) } @@ -2251,10 +2247,7 @@ impl<T: Config> Pallet<T> { } /// Force set the current code for the given parachain. - fn do_force_set_current_code_update( - para: ParaId, - new_code: ValidationCode, - ) { + fn do_force_set_current_code_update(para: ParaId, new_code: ValidationCode) { let new_code_hash = new_code.hash(); Self::increase_code_ref(&new_code_hash, &new_code); Self::set_current_code(para, new_code_hash, frame_system::Pallet::<T>::block_number()); diff --git a/polkadot/runtime/parachains/src/paras/tests.rs b/polkadot/runtime/parachains/src/paras/tests.rs index 7d823b12cb604dd32b1f172c13f0f3a39f504731..61324632f6b84ddfee32e3ff32f77f6580804ead 100644 --- a/polkadot/runtime/parachains/src/paras/tests.rs +++ b/polkadot/runtime/parachains/src/paras/tests.rs @@ -2036,7 +2036,11 @@ fn authorize_and_apply_set_current_code_works() { // cannot apply non-authorized code assert_err!( - Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_1.clone()), + Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_1.clone() + ), Error::<Test>::CannotUpgradeCode, ); @@ -2057,7 +2061,11 @@ fn authorize_and_apply_set_current_code_works() { // non-root cannot apply unauthorized code assert_err!( - Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_2.clone()), + Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_2.clone() + ), Error::<Test>::CannotUpgradeCode, ); assert_eq!(AuthorizedCodeHash::<Test>::get(para_a), Some(code_1_hash)); @@ -2067,7 +2075,11 @@ fn authorize_and_apply_set_current_code_works() { check_code_is_not_stored(&code_3); // non-root can apply authorized code - assert_ok!(Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_1.clone())); + assert_ok!(Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_1.clone() + )); // check authorized code was applied assert!(AuthorizedCodeHash::<Test>::get(para_a).is_none()); @@ -2094,16 +2106,28 @@ fn authorize_and_apply_set_current_code_works() { // cannot apply older ones assert_err!( - Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_1.clone()), + Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_1.clone() + ), Error::<Test>::CannotUpgradeCode, ); assert_err!( - Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_2.clone()), + Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_2.clone() + ), Error::<Test>::CannotUpgradeCode, ); // apply just authorized - assert_ok!(Paras::apply_authorized_force_set_current_code(non_root.clone(), para_a, code_3.clone())); + assert_ok!(Paras::apply_authorized_force_set_current_code( + non_root.clone(), + para_a, + code_3.clone() + )); assert!(AuthorizedCodeHash::<Test>::get(para_a).is_none()); assert_eq!(CurrentCodeHash::<Test>::get(para_a), Some(code_3_hash)); check_code_is_stored(&code_1);