Exited

Event v154 → current #2

Emitted when safe-mode ends, either by timeout or force.

View events on chain
Useful for: validatorsdevelopersanalytics

The Big Picture

The end of safe-mode. The 'reason' field tells you whether it ended naturally (Timeout) or was ended early by governance (Force). Either way, normal network operations resume.

Why This Matters

Your dApp can resume full functionality. Users can perform operations that were blocked during safe-mode.

Example Scenario

When Exited fires with reason=Timeout, you remove the 'safe-mode active' banner and re-enable all features. Log the total duration for incident post-mortem.

Use Cases

  • Detect when normal operations can resume
  • Update dashboards to show network is operational
  • Track incident resolution timing

How to Use This Event

  • Trigger 'all clear' notifications to users
  • Resume paused automated operations
  • Log incident duration for analysis

From Chain Metadata

Exited the safe-mode for a specific reason.

Triggers

Emitted by

Preconditions

  • Safe-mode was entered

Effects

Storage Modified

Postconditions

  • Safe-mode is no longer active
  • EnteredUntil storage cleared
  • Normal network operations resume

Side Effects

  • Deposits remain reserved until ReleaseDelay passes

Event Data

#NameTypeDescription
0
reason
ExitReason Exit reason: Timeout (natural expiry) or Force (governance)

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Subscribe to Exited events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("SafeMode") &&
      event.method === "Exited"
    )
    .forEach(({ event }) => {
      console.log("Exited:", event.data.toHuman());
    });
});

Runtime Info

Pallet Index
20
Event Index
2
First Version
v154
Current Version
v393