Skip to content

CONTRACTS: Implement Access Control Lists (ACL) #506

@truthixify

Description

@truthixify

Description
Add granular permission system with role-based access control for managing different levels of authorization across contract operations.

Files to Modify

  • contracts/manage_hub/src/acl.rs - Create ACL module
  • contracts/manage_hub/src/roles.rs - Define role structures
  • contracts/manage_hub/src/guards.rs - Add ACL guards
  • contracts/manage_hub/src/lib.rs - Add ACL endpoints

Key Changes Required

  • Role Definition - Define different roles (admin, minter, burner, etc.)
  • Permission Assignment - Assign permissions to roles
  • Role Management - Add/remove roles from addresses
  • Permission Checks - Implement guards for protected operations
  • Role Hierarchy - Support role inheritance
  • Time-based Roles - Add temporary role assignments

Acceptance Criteria

  • Implement grant_role and revoke_role functions
  • Add has_role query function
  • Define standard roles (admin, minter, pauser, etc.)
  • Implement role-based guards for all operations
  • Emit RoleGranted and RoleRevoked events
  • Support role renunciation by role holders
  • Add get_role_members query function
  • Implement role admin hierarchy

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions