Governance
Ocean Finance implements a comprehensive governance and access control system designed to ensure security, operational efficiency, and proper authorization across all protocol functions.
Access Control Architecture
Core Access Control Contract
DefaultAdminAccessControl
Contract: DefaultAdminAccessControl.sol Purpose: Centralized role-based access control system
Role Definitions
DEFAULT_ADMIN_ROLE
Scope: Ultimate administrative control Capabilities:
Grant and revoke all other roles
Upgrade AddressProvider contract
Configure protocol parameters
Emergency pause functions
Withdraw funds from contracts
Add/remove supported assets
Modify fee structures
Security Features:
24-hour cooldown period for role changes
Multi-signature requirement (recommended)
Event logging for all administrative actions
SERVICE_ROLE
Scope: Operational functions Capabilities:
Execute strategy operations via StrategyAllocator
Fulfill redemption requests in MintingManager
Distribute yield via YieldDistributor
Manage handler approvals and operations
Update oracle prices (if authorized)
Restrictions:
Cannot modify protocol configuration
Cannot grant/revoke roles
Cannot withdraw funds directly
Contract-Specific Access Controls
MintingManager Access
OCUSD Token Access
StrategyAllocator Access
Governance Actions & Procedures
1. Strategy Management
Adding New Strategies
Process:
Security Audit: Complete security review of new handler
Deployment: Deploy handler contract with proper access controls
Registration: Add handler to StrategyAllocator whitelist
Asset Support: Add any new assets to supported lists
Configuration: Set initial allocation parameters
Testing: Perform small-scale testing before full allocation
Removing Strategies
2. Parameter Management
Fee Structure Updates
Cooldown Period Adjustments
3. Oracle Management
Price Feed Updates
Deviation Threshold Management
4. Emergency Procedures
Protocol Pause
Emergency Asset Recovery
Upgrade Mechanisms
AddressProvider Upgrades
Pattern: UUPS (Universal Upgradeable Proxy Standard) Authority: DEFAULT_ADMIN_ROLE only
Upgrade Process:
Proposal: Submit upgrade proposal with new implementation
Review: Technical and security review of changes
Testing: Deploy and test on testnet
Timelock: Implement timelock delay for critical upgrades
Execution: Execute upgrade with proper authorization
Verification: Verify upgrade success and functionality
Handler Replacement
Since handlers are modular and isolated:
Deploy new handler contract
Add new handler to StrategyAllocator
Migrate funds from old to new handler
Remove old handler from whitelist
Update documentation and monitoring
Security Considerations
1. Role Assignment Security
Multi-signature wallets for DEFAULT_ADMIN_ROLE
Hardware security modules for key management
Regular key rotation procedures
Emergency contact protocols
2. Operational Security
Separation of duties between admin and service roles
Time-locked operations for critical changes
Monitoring and alerting for all administrative actions
Incident response procedures
3. Smart Contract Security
Immutable core contracts for trust and security
Limited upgrade scope to AddressProvider only
Comprehensive testing before any changes
Security audits for all modifications
4. Governance Transparency
Public proposal process for major changes
Community notification of governance actions
Transparent voting mechanisms (future enhancement)
Documentation updates for all protocol changes
Monitoring & Compliance
Administrative Action Logging
Compliance Requirements
Action justification documentation
Change management processes
Audit trail maintenance
Regulatory reporting capabilities
This comprehensive governance framework ensures Ocean Finance maintains security, transparency, and operational efficiency while enabling necessary protocol evolution and emergency response capabilities.
Last updated