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
- 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.
- 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.
- Pauser
- Pause/Unpause Contract: Pausers can halt or resume contract functionalities, providing a mechanism to address emergencies or security threats promptly.
- Freezer
- Freeze Assets: Freezers can freeze tokens in instances of financial crime or misuse, ensuring regulatory compliance and mitigating risks of fraudulent activities.
- Minter
- Mint Tokens: Minters have the authority to generate new tokens, allowing for controlled inflation and supply adjustments.
- Burner
- Burn Tokens: Burners can destroy tokens, typically used for redeeming AUSD for other assets, thereby reducing the total supply of tokens.

