Category: Coding Mistakes
The __DocumentHashRegistry_init()
function should be internal
Informational Severity
Informational Impact
N/A Likelihood
Description
The __DocumentHashRegistry_init()
function in the DocumentHashRegistry contract is currently declared as public. This allows it to be called directly from outside the contract, which is not the intended use for initialization functions in upgradable contracts.
function __DocumentHashRegistry_init() public virtual initializer {
__AccessControl_init();
__DocumentHashRegistry_init_unchained();
}
Impact
While the initializer
modifier prevents multiple initializations, having this function public unnecessarily exposes an internal implementation detail.
Recommendations
We recommend changing the visibility of __DocumentHashRegistry_init()
from public to internal.