ROLESv1
Inherits: Module
State Variables
hasRole
Mapping for if an address has a policy-defined role.
mapping(address => mapping(bytes32 => bool)) public hasRole;
Functions
saveRole
Function to grant policy-defined roles to some address. Can only be called by admin.
function saveRole(bytes32 role_, address addr_) external virtual;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| addr_ | address |
removeRole
Function to revoke policy-defined roles from some address. Can only be called by admin.
function removeRole(bytes32 role_, address addr_) external virtual;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| addr_ | address |
requireRole
"Modifier" to restrict policy function access to certain addresses with a role.
Roles are defined in the policy and granted by the ROLES admin.
function requireRole(bytes32 role_, address caller_) external virtual;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| caller_ | address |
ensureValidRole
Function that checks if role is valid (all lower case)
function ensureValidRole(bytes32 role_) external pure virtual;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 |
Events
RoleGranted
event RoleGranted(bytes32 indexed role_, address indexed addr_);
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| addr_ | address |
RoleRevoked
event RoleRevoked(bytes32 indexed role_, address indexed addr_);
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| addr_ | address |
Errors
ROLES_InvalidRole
error ROLES_InvalidRole(bytes32 role_);
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 |
ROLES_RequireRole
error ROLES_RequireRole(bytes32 role_);
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 |
ROLES_AddressAlreadyHasRole
error ROLES_AddressAlreadyHasRole(address addr_, bytes32 role_);
Parameters
| Name | Type | Description |
|---|---|---|
| addr_ | address | |
| role_ | bytes32 |
ROLES_AddressDoesNotHaveRole
error ROLES_AddressDoesNotHaveRole(address addr_, bytes32 role_);
Parameters
| Name | Type | Description |
|---|---|---|
| addr_ | address | |
| role_ | bytes32 |
ROLES_RoleDoesNotExist
error ROLES_RoleDoesNotExist(bytes32 role_);
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 |