Ring Protocol
Search…
Permissions
The access control module of Ring Protocol Core

Contract

Description

The access control module of the Core contract. It maintains which roles exist, role admins, and which addresses have which roles.
The contract expands the OpenZeppelin Access Control contract with additional Ring Protocol-specific roles and functionality.
Access - OpenZeppelin Docs
Granting and revoking roles is gated for only Governor ⚖️ access. The Guardian🛡role can also revoke roles in certain circumstances.

Read-Only Functions

isBurner

1
function isBurner(address _address) external view returns (bool);
Copied!
returns true if _address has the Burner🔥role

isMinter

1
function isMinter(address _address) external view returns (bool);
Copied!
returns true if _address has the Minter💰role

isGovernor

1
function isGovernor(address _address) external view returns (bool);
Copied!
returns true if _address has the Governor⚖️role

isGuardian

1
function isGuardian(address _address) external view returns (bool);
Copied!
returns true if _address has the Guardian🛡role

isPCVController

1
function isPCVController(address _address) external view returns (bool);
Copied!
returns true if _address has the PCV Controller⚙️role

Governor-Only⚖️ State-Changing Functions

createRole

1
function createRole(bytes32 role, bytes32 adminRole) external;
Copied!
assigns role role a new admin role adminRole
This function can be used either to create a new access control role or reassign an admin for an existing role.

grantMinter

1
function grantMinter(address minter) external;
Copied!
assigns Minter💰role to minter

grantBurner

1
function grantBurner(address burner) external;
Copied!
assigns Burner🔥role to burner

grantPCVController

1
function grantPCVController(address pcvController) external;
Copied!
assigns PCV Controller⚙️ role to pcvController

grantGovernor

1
function grantGovernor(address governor) external;
Copied!
assigns Governor⚖️role to governor

grantGuardian

1
function grantGuardian(address guardian) external;
Copied!
assigns Guardian🛡role to guardian

revokeMinter

1
function revokeMinter(address minter) external;
Copied!
revokes Minter💰role from minter

revokeBurner

1
function revokeBurner(address burner) external;
Copied!
revokes Burner🔥role from burner

revokePCVController

1
function revokePCVController(address pcvController) external;
Copied!
revokes PCV Controller⚙️ role from pcvController

revokeGovernor

1
function revokeGovernor(address governor) external;
Copied!
revokes Governor⚖️role from governor

revokeGuardian

1
function revokeGuardian(address guardian) external;
Copied!
revokes Guardian🛡role from guardian

Guardian-Only🛡State-Changing Functions

revokeOverride

1
function revokeOverride(bytes32 role, address account) external;
Copied!
revokes role from account
fails if role is equal to Governor⚖️

ABIs

permissions.json
6KB
Binary
Permissions ABI
ipermissions.json
3KB
Binary
Permissions Interface ABI
Last modified 4mo ago