DeFiFoundry
50,000 USDC
View results
Submission Details
Severity: high
Invalid

The `isSequencerUp` flag is used incorrectly

Summary

The isSequencerUp flag is used incorrectly.

Vulnerability Details

contracts/KeeperProxy.sol#L164

The _validatePrice function uses the isSequencerUp flag incorrectly, which prevents the protocol from functioning properly. When answer == 0, isSequencerUp should be False and should not pass the require check.

function _validatePrice(address perpVault, MarketPrices memory prices) internal view {
// L2 Sequencer check
(
/*uint80 roundID*/,
int256 answer,
uint256 startedAt,
/*uint256 updatedAt*/,
/*uint80 answeredInRound*/
) = AggregatorV2V3Interface(sequencerUptimeFeed).latestRoundData();
bool isSequencerUp = answer == 0;
require(isSequencerUp, "sequencer is down");
...
}

Impact

This problem will prevent the protocol from functioning properly.

Tools Used

Recommendations


It is recommended to change bool isSequencerUp = answer == 0; to bool isSequencerUp = answer != 0; to fix this issue.

Updates

Lead Judging Commences

n0kto Lead Judge 6 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.