ZeUSD Router V2

Product Overview

The ZeUSD Router V2 serves as the primary entry point for user interactions with the ZeUSD protocol. It coordinates deposits, withdrawals, and protocol operations through a secure and compliant system.

Core Components

1. Access Control System

1.1 Role-Based Access

  • Integrated with AccessManager for role management

  • Key roles:

    • WHITELISTER_ROLE: Manages whitelisting and merkle roots

    • GUARDIAN_ROLE: Emergency controls

    • TREASURY_ROLE: Financial operations

    • ROUTER_ROLE: For deposit/withdrawal operations

    • GATEKEEPER_ROLE: For compliance operations

    • ORCHESTRATOR_ROLE: For vault management

1.2 User Access Management

  • Whitelist verification with merkle proofs

  • Blacklist integration with ZeUSD token

2. Protocol Integration Components

2.1 Vault Registry Integration

  • Manages vault configurations

  • Validates deposits against LTV ratios

  • Coordinates with price oracles

  • Tracks vault statuses

2.2 ZeUSD Token Management

3. Deposit Flow

4. Withdrawal Flow

Error Handling

Events

Security Features

  • Whitelist verification with merkle proofs

  • Integration with ZeUSD blacklist

  • Role-based access control

  • Input validation and bounds checking

  • Emergency pause functionality

Upgradeability

  • Implements UUPS proxy pattern

  • Managed through AccessManager

  • Preserves state during upgrades

  • Registry-based contract resolution

This updated documentation reflects the current implementation with:

  • Removal of LayerZero and Chainlink CCIP references

  • Updated role-based access control through AccessManager

  • New withdrawal system integration

  • CDP (ZeDP) NFT minting for position tracking

  • Merkle proof-based whitelist verification

  • Simplified deposit/withdrawal flows

  • Current error handling system

The diagrams provide visual representation of the key flows and component interactions in the current implementation.

Last updated