RolesAdmin
Inherits: Policy
The RolesAdmin Policy grants and revokes Roles in the ROLES module.
State Variables
admin
Special role that is responsible for assigning policy-defined roles to addresses.
address public admin;
newAdmin
Proposed new admin. Address must call pullRolesAdmin to become the new roles admin.
address public newAdmin;
ROLES
ROLESv1 public ROLES;
Functions
constructor
constructor(Kernel _kernel) Policy(_kernel);
Parameters
| Name | Type | Description |
|---|---|---|
| _kernel | Kernel |
configureDependencies
Define module dependencies for this policy.
function configureDependencies() external override returns (Keycode[] memory dependencies);
Returns
| Name | Type | Description |
|---|---|---|
| dependencies | Keycode[] | - Keycode array of module dependencies. |
requestPermissions
Function called by kernel to set module function permissions.
function requestPermissions() external view override returns (Permissions[] memory requests);
Returns
| Name | Type | Description |
|---|---|---|
| requests | Permissions[] | - Array of keycodes and function selectors for requested permissions. |
onlyAdmin
modifier onlyAdmin();
grantRole
function grantRole(bytes32 role_, address wallet_) external onlyAdmin;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| wallet_ | address |
revokeRole
function revokeRole(bytes32 role_, address wallet_) external onlyAdmin;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| wallet_ | address |
pushNewAdmin
function pushNewAdmin(address newAdmin_) external onlyAdmin;
Parameters
| Name | Type | Description |
|---|---|---|
| newAdmin_ | address |
pullNewAdmin
function pullNewAdmin() external;
Events
NewAdminPushed
event NewAdminPushed(address indexed newAdmin_);
Parameters
| Name | Type | Description |
|---|---|---|
| newAdmin_ | address |
NewAdminPulled
event NewAdminPulled(address indexed newAdmin_);
Parameters
| Name | Type | Description |
|---|---|---|
| newAdmin_ | address |
Errors
Roles_OnlyAdmin
error Roles_OnlyAdmin();
Roles_OnlyNewAdmin
error Roles_OnlyNewAdmin();