Missing parent initializer call in `__UUPSUpgradeable_init()`
The Oracle.sol contract inherits from UUPSUpgradeable but its init function fails to call the corresponding parent initializer function, __UUPSUpgradeable_init().
The Oracle.sol contract inherits from UUPSUpgradeable but its init function fails to call the corresponding parent initializer function, __UUPSUpgradeable_init(). While this parent initializer function might be empty in the current version of the OpenZeppelin library used, omitting the call violates the explicit initialization pattern required by OpenZeppelin Upgradeable contracts. This deviation poses risks for forward compatibility should the library be updated with logic in that initializer, and makes the code non-standard and harder to maintain.
Adhere to the standard OpenZeppelin Upgradeable pattern by explicitly calling __UUPSUpgradeable_init() within the Oracle.init() function.
function init(address owner) public initializer {__UUPSUpgradeable_init(); // Initialize UUPSUpgradeable parent_grantRole(AccessControlStorage.DEFAULT_ADMIN_ROLE, owner);}
Report provenance
Published by Pashov Audit Group, with Carlos (Bloqarl) participating as a contractor. The source report states that its fixes review was not fully completed; no final remediation disposition is recorded for this finding. Read the full report.