Unstable Protocol
  • Introduction
  • Users
    • Mint nUSD
    • Repay nUSD
    • Interest and Fees
    • Collateralization and Liquidation
    • Redemption
  • Developers
    • Architecture
    • Position Management
    • Interest and Fees
    • Price Oracle
    • Liquidation System
    • Redemption System
    • Emergency Controls
    • Deployments
    • Security & Audits
Powered by GitBook
On this page
  • Purpose
  • Access Control
  • Example Usage
Export as PDF
  1. Developers

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.

PreviousRedemption SystemNextDeployments

Last updated 2 months ago