Closed sherlock-admin closed 9 months ago
1 comment(s) were left on this issue during the judging contest.
takarez commented:
invalid
Invalid, logic is correct to prevent stale oracle prices during sequencer down time. The check ensures that grace period must have passed once oracle resumes that is calculated as the time difference between current timestamp and last timestamp oracle resume should. See here for more information.
Topmark
medium
sequencerDown would Return True even During Grace Period
Summary
sequencerDown would Return True even During Grace Period in the Registry contract
Vulnerability Detail
As noted in the code above the _isSequencerDown(...) Function from the pointer shows how validation is done before sequencerDown returns true it can be noted that in a situation the time that is been used i.e (block.timestamp - startAt) is less that grace period, true should be return this is totally wrong the sequencer down should only return true after the current time has crossed over the grace period. i.e grace period has been exhausted.
Impact
sequencerDown would Return True even During Grace Period in the Registry contract
Code Snippet
https://github.com/sherlock-audit/2023-12-arcadia/blob/main/accounts-v2/src/Registry.sol#L174
Tool used
Manual Review
Recommendation
As adjusted below greater than condition should be used Instead of less than to ensure Sequencer is not down during grace period.