# Roles [Git Source](https://github.com/buildship-dev/nft-contracts/blob/fd1c33a9dbefe42158dfc60d10c0afde05c713aa/contracts/utils/Rarible/ExchangeV1.sol) *Library for managing addresses assigned to a Role.* ## Functions ### add *Give an account access to this role.* ```solidity function add(Role storage role, address account) internal; ``` ### remove *Remove an account's access to this role.* ```solidity function remove(Role storage role, address account) internal; ``` ### has *Check if an account has this role.* ```solidity function has(Role storage role, address account) internal view returns (bool); ``` **Returns** |Name|Type|Description| |----|----|-----------| |``|`bool`|bool| ## Structs ### Role ```solidity struct Role { mapping(address => bool) bearer; } ```