Skip to main content

RolesAdmin

Git Source

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

NameTypeDescription
_kernelKernel

configureDependencies​

Define module dependencies for this policy.

function configureDependencies() external override returns (Keycode[] memory dependencies);

Returns

NameTypeDescription
dependenciesKeycode[]- 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

NameTypeDescription
requestsPermissions[]- Array of keycodes and function selectors for requested permissions.

onlyAdmin​

modifier onlyAdmin();

grantRole​

function grantRole(bytes32 role_, address wallet_) external onlyAdmin;

Parameters

NameTypeDescription
role_bytes32
wallet_address

revokeRole​

function revokeRole(bytes32 role_, address wallet_) external onlyAdmin;

Parameters

NameTypeDescription
role_bytes32
wallet_address

pushNewAdmin​

function pushNewAdmin(address newAdmin_) external onlyAdmin;

Parameters

NameTypeDescription
newAdmin_address

pullNewAdmin​

function pullNewAdmin() external;

Events​

NewAdminPushed​

event NewAdminPushed(address indexed newAdmin_);

Parameters

NameTypeDescription
newAdmin_address

NewAdminPulled​

event NewAdminPulled(address indexed newAdmin_);

Parameters

NameTypeDescription
newAdmin_address

Errors​

Roles_OnlyAdmin​

error Roles_OnlyAdmin();

Roles_OnlyNewAdmin​

error Roles_OnlyNewAdmin();