Emergency Controls

The Emergency Controls component provides safety mechanisms and pause functions for the protocol through the UnstableConfigurator contract, which is the central registry that manages protocol parameters and access control.

Purpose

The configurator serves several key functions:

  1. Stores the mapping between collateral assets and their oracles

  2. Maintains a list of vaults that are enabled to mint nUSD

  3. Configures settings for each vault (fees, collateral ratios, etc.)

  4. Manages access control for privileged operations

  5. Provides emergency pause functionality for protocol operations

Action
Description
Function

Pause

Pause protocol functions

toggleVaultMintPause(address vault)

Unpause

Unpause protocol functions

toggleVaultMintPause(address vault)

Access Control

The configurator has two levels of access:

  • Owner: Higher level privilege, typically a multisig wallet with timelock. Can add vaults capable of minting nUSD and make other critical changes.

  • Admin: Lower level privilege for emergency pauses and low-risk parameter adjustments.

Example Usage

To configure emergency controls:

// Pause minting for a vault in case of emergency
configurator.toggleVaultMintPause(vaultAddress);

// Unpause minting for a vault after emergency is resolved
configurator.toggleVaultMintPause(vaultAddress);

Note: Emergency functions are only accessible to protocol administrators and not available through standard integration.

Last updated