Source: OpenZeppelin Midnight - Compact Contracts Audit
Description
The AccessControl contract documents a mechanism to customize the DEFAULT_ADMIN_ROLE, which is used as the default administrator for other roles.
However, the contract does not use the DEFAULT_ADMIN_ROLE in storage. Instead, when there is no explicit admin entry, getRoleAdmin returns a hardcoded constant (all zeros). Any customizations to the DEFAULT_ADMIN_ROLE ledger entry are non-functional and misleading.
Consider removing the DEFAULT_ADMIN_ROLE ledger entry and associated documentation.
Source: OpenZeppelin Midnight - Compact Contracts Audit
Description
The
AccessControlcontract documents a mechanism to customize theDEFAULT_ADMIN_ROLE, which is used as the default administrator for other roles.However, the contract does not use the
DEFAULT_ADMIN_ROLEin storage. Instead, when there is no explicit admin entry,getRoleAdminreturns a hardcoded constant (all zeros). Any customizations to theDEFAULT_ADMIN_ROLEledger entry are non-functional and misleading.Consider removing the
DEFAULT_ADMIN_ROLEledger entry and associated documentation.