You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 7, 2024. It is now read-only.
sherlock-admin opened this issue
Jul 8, 2023
· 0 comments
Labels
DuplicateA valid issue that is a duplicate of an issue with `Has Duplicates` labelMediumA valid Medium severity issueRewardA payout will be made for this issue
If the sequencer goes down, the index oracles may have stale prices, since L2-submitted transactions (i.e. by the aggregating oracles) will not be processed.
Impact
Price used might be stale and Users are charged wrongly.
Code Snippet
File: LimitOrderRegisty.sol
function getGasPrice() publicviewreturns (uint256) {
// If gas feed is set use it.if (fastGasFeed !=address(0)) {
(, int256_answer, , uint256_timestamp, ) =IChainlinkAggregator(fastGasFeed).latestRoundData();
uint256 timeSinceLastUpdate =block.timestamp- _timestamp;
// Check answer is not stale.if (timeSinceLastUpdate > FAST_GAS_HEARTBEAT) {
// If answer is stale use owner set value.// Multiply by 1e9 to convert gas price to gweireturnuint256(upkeepGasPrice) *1e9;
} else {
// Else use the datafeed value.uint256 answer =uint256(_answer);
return answer;
}
}
// Else use owner set value.returnuint256(upkeepGasPrice) *1e9; // Multiply by 1e9 to convert gas price to gwei
}
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
DuplicateA valid issue that is a duplicate of an issue with `Has Duplicates` labelMediumA valid Medium severity issueRewardA payout will be made for this issue
Breeje
medium
Missing checks for whether Arbitrum Sequencer is active
Summary
Missing checks for whether Arbitrum Sequencer is active
Vulnerability Detail
It has been made clear that
LimitOrderRegistry
contract will be deployed on L2s like arbitrum as well,Chainlink recommends that users using price oracles, check whether the Arbitrum sequencer is active
Link: https://docs.chain.link/data-feeds#l2-sequencer-uptime-feeds
If the sequencer goes down, the index oracles may have stale prices, since L2-submitted transactions (i.e. by the aggregating oracles) will not be processed.
Impact
Price used might be stale and Users are charged wrongly.
Code Snippet
Link to Code
Tool used
Manual Review
Recommendation
Use sequencer oracle to determine whether the sequencer is offline or not, and don't allow orders to be executed while the sequencer is offline.
Duplicate of #65
The text was updated successfully, but these errors were encountered: