diff --git a/operator/runtime/mainnet/src/configs/mod.rs b/operator/runtime/mainnet/src/configs/mod.rs index 0b8b8a06..3f828e33 100644 --- a/operator/runtime/mainnet/src/configs/mod.rs +++ b/operator/runtime/mainnet/src/configs/mod.rs @@ -236,7 +236,7 @@ impl Contains for NormalCallFilter { } /// Calls that can bypass the safe-mode pallet. -/// These calls are essential for emergency governance and system maintenance. +/// These calls are essential for emergency governance, system maintenance, and basic operation. pub struct SafeModeWhitelistedCalls; impl Contains for SafeModeWhitelistedCalls { fn contains(call: &RuntimeCall) -> bool { @@ -257,6 +257,8 @@ impl Contains for SafeModeWhitelistedCalls { RuntimeCall::Referenda(_) => true, RuntimeCall::TechnicalCommittee(_) => true, RuntimeCall::TreasuryCouncil(_) => true, + // Block production - needed to continue producing blocks in safe mode + RuntimeCall::Randomness(_) => true, _ => false, } } diff --git a/operator/runtime/stagenet/src/configs/mod.rs b/operator/runtime/stagenet/src/configs/mod.rs index f9b31e70..9ab30486 100644 --- a/operator/runtime/stagenet/src/configs/mod.rs +++ b/operator/runtime/stagenet/src/configs/mod.rs @@ -236,7 +236,7 @@ impl Contains for NormalCallFilter { } /// Calls that can bypass the safe-mode pallet. -/// These calls are essential for emergency governance and system maintenance. +/// These calls are essential for emergency governance, system maintenance, and basic operation. pub struct SafeModeWhitelistedCalls; impl Contains for SafeModeWhitelistedCalls { fn contains(call: &RuntimeCall) -> bool { @@ -257,6 +257,8 @@ impl Contains for SafeModeWhitelistedCalls { RuntimeCall::Referenda(_) => true, RuntimeCall::TechnicalCommittee(_) => true, RuntimeCall::TreasuryCouncil(_) => true, + // Block production - needed to continue producing blocks in safe mode + RuntimeCall::Randomness(_) => true, _ => false, } } diff --git a/operator/runtime/testnet/src/configs/mod.rs b/operator/runtime/testnet/src/configs/mod.rs index 7a9dc4b6..5915e31f 100644 --- a/operator/runtime/testnet/src/configs/mod.rs +++ b/operator/runtime/testnet/src/configs/mod.rs @@ -236,7 +236,7 @@ impl Contains for NormalCallFilter { } /// Calls that can bypass the safe-mode pallet. -/// These calls are essential for emergency governance and system maintenance. +/// These calls are essential for emergency governance, system maintenance, and basic operation. pub struct SafeModeWhitelistedCalls; impl Contains for SafeModeWhitelistedCalls { fn contains(call: &RuntimeCall) -> bool { @@ -257,6 +257,8 @@ impl Contains for SafeModeWhitelistedCalls { RuntimeCall::Referenda(_) => true, RuntimeCall::TechnicalCommittee(_) => true, RuntimeCall::TreasuryCouncil(_) => true, + // Block production - needed to continue producing blocks in safe mode + RuntimeCall::Randomness(_) => true, _ => false, } }