Anyone can frontrun a relayer interaction with the same arguments but a much higher/lower relayer fee
Description
The relayer fee used throughout the codebase is not enforced anywhere, such that it's possible to frontrun a legit transaction and set a much lower/higher relayer fee, harming the relayer/user.
Recommendation
There are several ways to tackle this issue:
- Assert that the relayer is the msg.sender.
- Place a cap on the relayer fee.
- The relayer gas fee could be part of the message that the user signs.
Status