The __LLMOracleManager_init
function in the LLMOracleManager
contract does not set the contract owner upon initialization. While the contract inherits from OwnableUpgradeable
, the owner should be established during the initialization process to ensure that ownership and access control mechanisms are correctly enforced.
The __LLMOracleManager_init
function is intended to initialize the contract's state but lacks a call to set the owner
Since OwnableUpgradeable
requires the owner to be set for proper access control, failing to do so could lead to unauthorized access or unintended behavior in functions that depend on owner permissions. This oversight can potentially allow a contract to remain without a valid owner, leading to a loss of control over sensitive contract functionalities.
Without a valid owner, functions restricted to the owner, such as setFees and setParameters, are inaccessible.
manual review
To rectify this issue, the __LLMOracleManager_init
function should call the __Ownable_init
function from the OwnableUpgradeable
contract to establish the owner correctly
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.