Last updated
Last updated
Inherits: IAuthorizer_v1, AccessControlEnumerableUpgradeable, Module_v1
Author: Inverter Network
Provides a robust access control mechanism for managing roles and permissions across different modules within the Inverter Network, ensuring secure and controlled access to critical functionalities.
Extends {AccessControlEnumerableUpgradeable} and integrates with {Module_v1} to offer fine-grained access control through role-based permissions. Utilizes ERC2771 for meta-transactions to enhance module interaction experiences.
The role that is used as a placeholder for a burned admin role.
Storage gap for future upgrades.
See {IERC165-supportsInterface}.
Verifies that the caller is an active module.
Parameters
Verifies that the admin being removed is not the last one.
Parameters
Verifies that the admin being added is not the {Orchestrator_v1}.
Parameters
Checks whether an address holds the required role to execute the current transaction.
The calling contract needs to generate the right role ID using its own address and the role identifier. In modules, this function should be used instead of hasRole
, as there are Authorizer-specific checks that need to be performed.
Parameters
Returns
Helper function to generate a bytes32 role hash for a module role.
Parameters
Returns
Used by a Module to grant a role to a user.
Parameters
Used by a Module to grant a role to a set of users.
Parameters
Used by a Module to revoke a role from a user.
Parameters
Used by a Module to revoke a role from a set of users.
Parameters
Transfer the admin rights to a given role.
Parameters
Irreversibly burns the admin of a given role.
The module itself can still grant and revoke it's own roles. This only burns third-party access to the role.
Parameters
Grants a global role to a target.
Only the addresses with the Admin role should be able to call this function.
Parameters
Grants a global role to a set of targets.
Only the addresses with the Admin role should be able to call this function.
Parameters
Revokes a global role from a target.
Only the addresses with the Admin role should be able to call this function.
Parameters
Revokes a global role from a set of targets.
Only the addresses with the Admin role should be able to call this function.
Parameters
Returns the role ID of the admin role.
Returns
Initializes the role authorizer.
Parameters
Overrides _revokeRole to prevent having an empty ADMIN
role.
Parameters
Returns
Overrides _grantRole to prevent having the {Orchestrator_v1} having the OWNER
role.
Parameters
Returns
Needs to be overridden, because they are imported via the AccessControlEnumerableUpgradeable as well.
Needs to be overridden, because they are imported via the AccessControlEnumerableUpgradeable as well.