# RoleAware

View Source: @nomisma/elektro-protocol-aux/contracts/access/RoleAware.sol

**↘ Derived Contracts: ElektroStorage, FundLockStorage, RegistryBaseStorage,** [**Resolver**](broken-reference)**,** [**Router**](broken-reference)**,** [**TokenManagerBase**](broken-reference)**, TokenValidator**

**RoleAware**

Provides the ability for heirs to restrict the use of functions by specific roles using the `onlyRole` modifier. See {IRoleManager}.

## Contract Members

**Constants & Variables**

```js
contract IRoleManager internal roleManager;
```

***

## Modifiers

* onlyRole

### onlyRole

> IMPORTANT: This function can not be changed after Router contracts have been deployed, since their logic is not upgradable, and changing this logic which will be inherited in implementation contracts might result in vulnerability since all Routers on chain would have this current (unchanged) logic.

```js
modifier onlyRole(bytes32 roleName) internal
```

**Arguments**

| Name     | Type    | Description |
| -------- | ------- | ----------- |
| roleName | bytes32 |             |

## Functions

* setRoleManager(address \_roleManager)

### setRoleManager

```js
function setRoleManager(address _roleManager) internal nonpayable
```

**Arguments**

| Name          | Type    | Description |
| ------------- | ------- | ----------- |
| \_roleManager | address |             |
