RBAC
contract RBAC
See //contracts/mocks/RBACMock.sol for an example of usage. This RBAC method uses strings to key roles. It may be beneficial for you to write your own implementation of this interface using Enums or similar. It's also recommended that you define constants in the contract, like ROLE_ADMIN below, to avoid typos.
Source: ownership/rbac/RBAC.sol
Reference
Events
RoleAdded
event RoleAdded(address addr, string roleName)
- Parameters:
addr
- addressroleName
- string
RoleRemoved
event RoleRemoved(address addr, string roleName)
- Parameters:
addr
- addressroleName
- string
Modifiers
onlyRole
modifier onlyRole(string roleName)
Modifier to scope access to a single role (uses msg.sender as addr).
- Parameters:
roleName
- the name of the role // reverts
Functions
addRole
function addRole(address addr, string roleName) internal
Add a role to an address.
- Parameters:
addr
- addressroleName
- the name of the role
checkRole
function checkRole(address addr, string roleName) public view
Reverts if addr does not have role.
- Parameters:
addr
- addressroleName
- the name of the role // reverts
hasRole
function hasRole(address addr, string roleName) public view returns (bool)
Determine if addr has role.
- Parameters:
addr
- addressroleName
- the name of the role- Returns:
- bool
removeRole
function removeRole(address addr, string roleName) internal
Remove a role from an address.
- Parameters:
addr
- addressroleName
- the name of the role