Permissions extension provides role-based access control: you can create roles and write custom logic in your smart contract that depends on whether a given wallet holds a given role.
There are two different contracts you can implement to add permissions:
Permissions: Create roles and restrict access to functions based on those roles.
Permissionsplus the capability to view all the addresses holding a specific role (or all roles).
You only need to implement one of the two.
This is an example smart contract demonstrating how to inherit from this extension and override the functions to add (optional) custom functionality.
Base Contracts Implementing This Extension
None of the base contracts implement this extension.