Long Stone Urchin
High
An incorrect parameter is passed to the OracleProtectedChild
parent constructor in the LenderCommitmentGroup_Smart
contract, as the wrong address is provided for _oracleManager
, causing functionality relying on OracleProtectedChild
to fail.
In the constructor of the LenderCommitmentGroup_Smart
contract:
constructor(
address _tellerV2,
address _smartCommitmentForwarder,
address _uniswapV3Factory
) OracleProtectedChild(_smartCommitmentForwarder) {
TELLER_V2 = _tellerV2;
SMART_COMMITMENT_FORWARDER = _smartCommitmentForwarder;
UNISWAP_V3_FACTORY = _uniswapV3Factory;
}
The _smartCommitmentForwarder
is incorrectly passed as the parameter to the OracleProtectedChild
parent constructor, but it should have been _oracleManager
. This causes the OracleProtectedChild
contract to be initialized with the wrong parameter.
No response
No response
No response
The OracleProtectedChild
contract is improperly initialized, functionality relying on OracleProtectedChild
(e.g., addPrincipalToCommitmentGroup
, burnSharesToWithdrawEarnings
and liquidateDefaultedLoanWithIncentive
could be exploited.
No response
The parameter passed to the OracleProtectedChild
constructor must be corrected.
constructor(
address _tellerV2,
address _smartCommitmentForwarder,
address _uniswapV3Factory
+ address _oracleManager
- ) OracleProtectedChild(_smartCommitmentForwarder) {
+ ) OracleProtectedChild(_oracleManager) {
TELLER_V2 = _tellerV2;
SMART_COMMITMENT_FORWARDER = _smartCommitmentForwarder;
UNISWAP_V3_FACTORY = _uniswapV3Factory;
}