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.