The ScrvusdVerifierV2 contract is unusable due to access control in update_profit_max_unlock_time which is callable by UNLOCK_TIME_VERIFIER only. This is due to the fact that both the functions in ScrvusdVerifierV2 contract viz. function verifyPeriodByBlockHash as well as the function verifyPeriodByStateRoot call update_profit_max_unlock_time in ScrvusdOracleV2 contract.
The function verifyPeriodByBlockHash and the function verifyPeriodByStateRoot in ScrvusdVerifierV2.sol use call to update_profit_max_unlock_time. However, update_profit_max_unlock_time is access controlled and is callable by UNLOCK_TIME_VERIFIER only, in the ScrvusdOracleV2.sol. This interlock makes the ScrvusdVerifierV2 contract unusable.
Both the functions verifyPeriodByBlockHash and verifyPeriodByStateRoot
in the ScrvusdVerifierV2.sol use update_profit_max_unlock_time
which is callable by UNLOCK_TIME_VERIFIER only, resulting in ScrvusdVerifierV2 unusable.
Manual review
Consider including appropriate access control in ScrvusdVerifierV2 contract and allowing calls from ScrvusdVerifierV2 contract to access update_profit_max_unlock_time in addition to the present access by UNLOCK_TIME_VERIFIER.
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.