Skip to main content

IAccessControl.sol

View Source: contracts/interfaces/IAccessControl.sol

↘ Derived Contracts: AccessControl

IAccessControl

External interface of AccessControl declared to support ERC165 detection.

Functions

hasRole

Returns true if account has been granted role.

function hasRole(bytes32 role,
address account)
external
view
returns(bool)

Returns

bool

Arguments

NameTypeDescription
rolebytes32
accountaddress

getRoleAdmin

Returns the admin role that controls role. See {grantRole} and
{revokeRole}.
To change a role's admin, use {AccessControl-_setRoleAdmin}.

function getRoleAdmin(bytes32 role) 
external
view
returns(bytes32)

Returns

bytes32

Arguments

NameTypeDescription
rolebytes32

grantRole

Grants role to account.
If account had not been already granted role, emits a {RoleGranted}
event.
Requirements:
- the caller must have role's admin role.

function grantRole(bytes32 role,
address account)
external

Arguments

NameTypeDescription
rolebytes32
accountaddress

revokeRole

Revokes role from account.
If account had been granted role, emits a {RoleRevoked} event.
Requirements:
- the caller must have role's admin role.

function revokeRole(bytes32 role,
address account)
external

Arguments

NameTypeDescription
rolebytes32
accountaddress

renounceRole

Revokes role from the calling account.
Roles are often managed via {grantRole} and {revokeRole}: this function's
purpose is to provide a mechanism for accounts to lose their privileges
if they are compromised (such as when a trusted device is misplaced).
If the calling account had been granted role, emits a {RoleRevoked}
event.
Requirements:
- the caller must be account.

function renounceRole(bytes32 role,
address account)
external

Arguments

NameTypeDescription
rolebytes32
accountaddress

Events

RoleAdminChanged

Emitted when newAdminRole is set as role's admin role, replacing previousAdminRole
DEFAULT_ADMIN_ROLE is the starting admin for all roles, despite
{RoleAdminChanged} not being emitted signaling this.
Available since v3.1.

event RoleAdminChanged(
bytes32 indexed role
bytes32 indexed previousAdminRole
bytes32 indexed newAdminRole
)

Parameters

NameTypeDescription
rolebytes32
previousAdminRolebytes32
newAdminRolebytes32

RoleGranted

Emitted when account is granted role.
sender is the account that originated the contract call, an admin role
bearer except when using {AccessControl-_setupRole}.

event RoleGranted(
bytes32 indexed role
address indexed account
address indexed sender
)

Parameters

NameTypeDescription
rolebytes32
accountaddress
senderaddress

RoleRevoked

Emitted when account is revoked role.
sender is the account that originated the contract call:
- if using revokeRole, it is the admin role bearer
- if using renounceRole, it is the role bearer (i.e. account)

event RoleRevoked(
bytes32 indexed role
address indexed account
address indexed sender
)

Parameters

NameTypeDescription
rolebytes32
accountaddress
senderaddress