The UniswapV2Adapter and UniswapV3Adapter contracts contain swap functions (executeSwapExactInputSingle and executeSwapExactInput) that rely on a globally set deadline. This approach introduces critical risks, including transaction reverts if the deadline becomes outdated and potential user losses if transactions are executed under unfavorable market conditions due to an excessively extended deadline.
Both executeSwapExactInputSingle and executeSwapExactInput functions utilize a single global deadline, which is set by the contract owner via the setDeadline function. This design applies the same expiration time to all transactions, rather than allowing individual transactions to specify their own deadlines.
If the contract owner neglects to update the global deadline and it lapses, any swap attempts will revert with the SwapDeadlineInThePast error. This results in a complete halt of all swap functionality until the deadline is manually corrected.
If the global deadline is set too far into the future, transactions might execute under market conditions that differ significantly from those present when the transaction was created. This could result in users receiving less favorable exchange rates or unexpected outcomes, leading to potential financial losses.
Operational Disruption:
An outdated global deadline causes all swap transactions to revert, effectively halting the contract’s operation for all users until the issue is resolved by the owner.
Potential Financial Losses:
Transactions executed under a far-future deadline may be settled under unfavorable market conditions, such as adverse changes in exchange rates, causing users to incur unexpected losses.
Manual review.
Modify the swap payload structures (e.g., SwapExactInputSinglePayload) to include a deadline parameter, allowing users to specify individual transaction expiration times.
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.