The function removeQuoteToken doesn't have a deadline.
Vulnerability Detail
The transaction may remain in the mempool for an extended period. If the deadline is not verified, the transaction might occur significantly later than when the user initially submitted it. Consequently, the tx could be executed at a lower price, resulting in a negative impact on the user.
Impact
removeQuoteToken can have a removedAmount very small comparing to the maxAmount the user specified because the tx was in the mempool for too long and it's executed when it's harmfull for the user.
LuchoLeonel1
high
Missing expiration timestamp in removeQuoteToken
Summary
The function removeQuoteToken doesn't have a deadline.
Vulnerability Detail
The transaction may remain in the mempool for an extended period. If the deadline is not verified, the transaction might occur significantly later than when the user initially submitted it. Consequently, the tx could be executed at a lower price, resulting in a negative impact on the user.
Impact
removeQuoteToken can have a removedAmount very small comparing to the maxAmount the user specified because the tx was in the mempool for too long and it's executed when it's harmfull for the user.
Code Snippet
The removeQuoteToken function doesn't have a check for deadline: https://github.com/sherlock-audit/2023-04-ajna/blob/main/ajna-core/src/base/Pool.sol#L210-L241
The moveQuoteToken function does have a check for the deadline: https://github.com/sherlock-audit/2023-04-ajna/blob/main/ajna-core/src/base/Pool.sol#L182
The addQuoteToken also have the same check: https://github.com/sherlock-audit/2023-04-ajna/blob/main/ajna-core/src/base/Pool.sol#L151
Tool used
Manual Review
Recommendation
Add the same _revertAfterExpiry function that is in the addQuoteToken and moveQuoteToken functions.