Omniscia 0xPhase Audit
AccessControlBase Manual Review Findings
AccessControlBase Manual Review Findings
ACB-01M: Inexistent Initialization of Access Control
Type | Severity | Location |
---|---|---|
Logical Fault | AccessControlBase.sol:L83-L90 |
Description:
The AccessControlBase
contract does not contain any method to initialize its first ownership similarly to other facets of the system, such as ERC20Base::_initializeERC20
.
Example:
diamond/AccessControl/AccessControlBase.sol
11abstract contract AccessControlBase is ElementBase {
Recommendation:
We advise the code to introduce an initialization mechanism meant to be invoked during the facet's registration to ensure that ownership is properly retained in the Diamond
instance.
Alleviation (3dd3d7bf0c2693b2f9c23bacedfa420393f7ea84):
The code of AccessControlBase
was updated to expose two new _initialize
prefixed functions that perform the correct initialization steps of the contract akin to the rest of the codebase. As such, we consider this exhibit fully alleviated.