Role Based Access Control

The AUSD contract implements a simple Role-Based Access Control (RBAC) system. This system ensures that only authorized accounts can perform certain actions, enhancing security and operational integrity. The roles and their associated capabilities are outlined below:

User Roles and Permissions

  1. Any User
    • Transfer Tokens: Users can transfer tokens directly to other accounts.
    • Delegate Transfers: Users can transfer tokens on behalf of other users using signed messages, adhering to ERC-2612 or ERC-3009 standards.
  2. Admin
    • Upgrade Contract Implementation: Admins can upgrade the contract implementation, ensuring the contract remains up-to-date with the latest features and security improvements.
    • Role Management: Admins can assign or revoke roles for other users, maintaining the integrity of the RBAC system.
  3. Pauser
    • Pause/Unpause Contract: Pausers can halt or resume contract functionalities, providing a mechanism to address emergencies or security threats promptly.
  4. Freezer
    • Freeze Assets: Freezers can freeze tokens in instances of financial crime or misuse, ensuring regulatory compliance and mitigating risks of fraudulent activities.
  5. Minter
    • Mint Tokens: Minters have the authority to generate new tokens, allowing for controlled inflation and supply adjustments.
  6. Burner
    • Burn Tokens: Burners can destroy tokens, typically used for redeeming AUSD for other assets, thereby reducing the total supply of tokens.