mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 12:48:00 +00:00
pallet-sudo: Accept Root origin as valid sudo (#2783)
This changes `pallet-sudo` to also accept `Root` origin for `ensure_sudo`. This can be useful for parachains who allow the relay chain to have superuser rights to setup the sudo pallet for example.
This commit is contained in:
@@ -349,12 +349,16 @@ pub mod pallet {
|
||||
impl<T: Config> Pallet<T> {
|
||||
/// Ensure that the caller is the sudo key.
|
||||
pub(crate) fn ensure_sudo(origin: OriginFor<T>) -> DispatchResult {
|
||||
let sender = ensure_signed(origin)?;
|
||||
let sender = ensure_signed_or_root(origin)?;
|
||||
|
||||
if Self::key().map_or(false, |k| k == sender) {
|
||||
Ok(())
|
||||
if let Some(sender) = sender {
|
||||
if Self::key().map_or(false, |k| k == sender) {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(Error::<T>::RequireSudo.into())
|
||||
}
|
||||
} else {
|
||||
Err(Error::<T>::RequireSudo.into())
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user