Steadefi

Steadefi
DeFiHardhatFoundryOracle
35,000 USDC
View results
Submission Details
Severity: medium
Invalid

Lack checks if Arbitrum Sequencer is down

Summary

Lack of Sequencer uptime check on Arbitrum

Vulnerability Details

Chainlink recommends that all L2 oracles consult the Sequencer Uptime Feed to ensure that the sequencer is live before trusting the data returned by the oracle.

Impact

If the Arbitrum sequencer goes down, the protocol will operate at the previous (stale) rates/prices impacting accounting, ratios, health, rebalances, conversions etc.

Tools Used

Manual Analysis

Recommendations

Recommended to follow Chainlink documentation checks for L2 sequencer
https://docs.chain.link/data-feeds/l2-sequencer-feeds#example-code as in example below using [startedAt result]

function isSequencerAlive() internal view returns (bool) {
(, int256 answer, uint256 startedAt,,) = sequencer.latestRoundData();
if (block.timestamp - startedAt <= GRACE_PERIOD_TIME || answer == 1)
return false;
return true;
}
function staleCheckLatestRoundData(AggregatorV3Interface priceFeed)
public
view
returns (uint80, int256, uint256, uint256, uint80)
{
require(isSequencerAlive(), "Sequencer is down");
....//remaining parts of the function
Updates

Lead Judging Commences

hans Lead Judge almost 2 years ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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