OlympusRoles
Inherits: ROLESv1
Module that holds multisig roles needed by various policies.
Functions
constructor
constructor(Kernel kernel_) Module(kernel_);
Parameters
| Name | Type | Description |
|---|---|---|
| kernel_ | Kernel |
KEYCODE
5 byte identifier for a module.
function KEYCODE() public pure override returns (Keycode);
Returns
| Name | Type | Description |
|---|---|---|
| <none> | Keycode |
VERSION
Returns which semantic version of a module is being implemented.
function VERSION() external pure override returns (uint8 major, uint8 minor);
Returns
| Name | Type | Description |
|---|---|---|
| major | uint8 | - Major version upgrade indicates breaking change to the interface. |
| minor | uint8 | - Minor version change retains backward-compatible interface. |
saveRole
Function to grant policy-defined roles to some address. Can only be called by admin.
function saveRole(bytes32 role_, address addr_) external override permissioned;
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 override permissioned;
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 view override;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 | |
| caller_ | address |
ensureValidRole
Function that checks if role is valid (all lower case)
function ensureValidRole(bytes32 role_) public pure override;
Parameters
| Name | Type | Description |
|---|---|---|
| role_ | bytes32 |