The swap() and increaseLiquidityCurrentRange() of the L2TokenReceiver contract do not set expiration deadlines.
The deadline parameters in the swap() and increaseLiquidityCurrentRange() are set to block.timestamp. This means that the functions will accept a transaction at any block number (i.e., no expiration deadline).
@1 -- Swap a token with the deadline: block.timestamp. The function will accept a token swap at any block number.: https://github.com/Cyfrin/2024-01-Morpheus/blob/07c900d22073911afa23b7fa69a4249ab5b713c8/contracts/L2TokenReceiver.sol#L65
@2 -- Increase liquidity with the deadline: block.timestamp. The function will accept a transaction at any block number.: https://github.com/Cyfrin/2024-01-Morpheus/blob/07c900d22073911afa23b7fa69a4249ab5b713c8/contracts/L2TokenReceiver.sol#L112
Without an expiration deadline, a malicious miner/validator (sequencer) can hold a transaction until they favor it or they can make a profit.
Manual Review
Set the deadline parameters with proper timestamps.
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.