x/circuit is a global circuit breaker for the chain. It exposes a system_available flag and a whitelist of accounts authorized to toggle it. Whitelist management is governance-controlled.
Core logic
system_availableis a single boolean stored in module state.- Only whitelisted accounts can submit
MsgUpdateCircuit. - Repeating the current
system_availablevalue succeeds without rewriting state. - An empty whitelist is allowed while
system_available=true. - An empty whitelist is rejected while
system_available=false, so at least one operator remains able to restore availability. MsgUpdateParamsupdates the whitelist and requires the governance authority address.- gRPC query handlers reject nil request objects explicitly.
Enforcement scope
- The circuit gate is enforced in ante for native Cosmos SDK transactions and EVM extension transactions.
eth_sendRawTransactionsubmissions becomeMsgEthereumTxand pass through ante checks, so they are also gated.- When
system_available=false, only transactions containingMsgUpdateCircuitmessages are allowed through the circuit gate. - Any transaction containing non-
MsgUpdateCircuitmessages is rejected withErrUnauthorizedandsystem unavailable.
Default genesis
Exposed methods
Cosmos SDK messages
MsgUpdateCircuit(signer, system_available)MsgUpdateParams(authority, params)
Queries
Query/SystemAvailableQuery/Whitelist