In ScrvusdVerifierV2
contract function _extractPeriodFromProof
there are require()
statement without reason string.
contracts/scrvusd/verifiers/ScrvusdVerifierV2.sol#L74
require(slot.exists);
When the require(slot.exists);
do not pass - will trigger revert
In functions without reason string.
verifyPeriodByStateRoot contracts/scrvusd/verifiers/ScrvusdVerifierV2.sol#L43
verifyPeriodByBlockHash contracts/scrvusd/verifiers/ScrvusdVerifierV2.sol#L26
This will lead to hard to detect reverts in 2 external functions in the cases when require(slot.exists);
check do not pass.
Manual review
I recommend adding a descriptive reason string just like in the other revert()
statements.
This will improve maintainability of the code and also provide more context when the revert happens.
Informational, non-acceptable severity given it has arguably no security impact
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.