Block timestamps are usually set based on the sequencer's clock. In some cases in can be manuplated to make a bad swaps.
As it says in the Arbitrum official documentation the sequencer can slightly adjust the timestamp of the block to account for the delays and prevent any potential reorganisations of the chain:
The swaps in StrategyArb contract has a block.timestamp argument in the swap function:
So in some cases a sequecer can manipulate a timestamp to frontrun the tx and implement a swap to get profit.
Or, as it sas here:
Solidity calls to
block.timestampon Arbitrum are not linked to the timestamp of the L1 block. It is updated every L2 block based on the sequencer's clock.
In this case the tx may be reversed as the timestamp is passed.
Swaps can be manipulated on Arbitrum chain.
Manual review.
Consider providing additional time for swaps to be executed.
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.