Vault System Architecture
Protocol's Central Registry and Price Coordinator
Overview
The Vault system forms the backbone of the ZeUSD protocol, managing asset deposits, configurations, and price coordination. It consists of two primary components that work together to ensure secure and efficient asset management:
VaultRegistry: Acts as the central coordinator for vault configurations, price validation, and deposit parameters
Vault Implementation (BaseVault/USYCVault): Handles the actual asset operations and storage

VaultRegistry: Configuration and Price Coordination
The VaultRegistry serves three critical functions:
Central registry for all vault configurations
Price coordinator for ZeUSD minting calculations
Validator for deposit parameters and constraints
1. Vault Registration System
The registration system ensures proper configuration and tracking of all vaults in the protocol:

function registerVault(
string calldata vaultName,
address rwaAddress,
address vaultAddress,
uint256 ltv,
bool isActive,
bool isStable,
uint256 slippage
) external;
Key Features:
Comprehensive Configuration: Stores and manages all supported vault types
Parameter Validation: Ensures valid LTV ratios (1-1000000) and slippage settings
Activity Management: Controls active/inactive states of vaults
Event Tracking: Emits detailed events for all configuration changes
2. Price Management
The price management system implements a robust validation and scaling mechanism:

Key Components:
Oracle Integration: Direct connection to price feeds
Validation Rules:
Non-zero price verification
Staleness checks
Bounds validation
Decimal normalization
Scaling Logic: Handles different token decimal places
3. Deposit Validation System
Ensures secure and valid deposits through multi-layer validation:

Validation Steps:
Asset Support Verification
Vault Status Check
Price Validation
LTV Compliance
Amount Validation
Vault Implementation
1. Base Vault Architecture
The vault system uses a hierarchical implementation for flexibility and security:

Features:
Modular Design: Separates core functionality from specific implementations
Extensibility: Easy to add new vault types
Security: Common security features in base implementation
Asset Management: Flexible primary and secondary asset handling
2. Asset Management
Comprehensive asset handling system:

Capabilities:
Primary Asset Operations: Core asset handling with strict controls
Secondary Asset Support: Flexible additional asset management
Emergency Controls: Quick response mechanisms for security
Slippage Protection: Prevents unfavorable transactions
Error Handling
Comprehensive error system for precise problem identification:
// VaultRegistry Errors
error VaultRegistryUnauthorizedRouter(address caller);
error VaultRegistryInvalidAddress(address addr);
error VaultRegistryInvalidParameters(string message);
error VaultRegistryInvalidLTV();
error VaultRegistryVaultNotRegistered(address rwaAddress);
// Vault Errors
error Vault_Unauthorized(address caller);
error Vault_AssetNotSupported(address asset);
error Vault_InvalidAmount();
error Vault_EmergencyModeActive(uint256 timestamp);
Benefits:
Clear error identification
Gas-efficient error handling
Detailed error information
Consistent error patterns
Events System
Comprehensive event emission for tracking and monitoring:
// VaultRegistry Events
event VaultRegistryVaultRegistered(
address indexed rwaAddress,
address indexed vaultAddress,
string vaultName,
uint256 ltv,
bool isActive,
bool isStable,
uint256 slippage
);
// Vault Events
event VaultPrimaryAssetOperation(
address indexed user,
uint256 amount,
bool isDeposit
);
Purpose:
Transaction tracking
State change monitoring
Audit trail maintenance
Integration support
Security Architecture
1. Access Control System
Features:
Role-based access control
Granular permission management
Clear responsibility separation
Audit-friendly structure
2. State Management

States:
Normal: Full functionality
Paused: Temporary halt
Emergency: Critical operations only
Integration Patterns
1. Router Integration Flow

Key Aspects:
Seamless operation flow
Clear responsibility chain
Error handling at each step
Event emission for tracking
2. Price Oracle Integration

Features:
Real-time price updates
Validation checks
Fallback mechanisms
Decimal handling
This comprehensive documentation provides both technical details and explanatory text, making it suitable for the documentation page while maintaining technical accuracy.
Last updated