-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Description
🧐 Motivation
When relaying transactions, you often end up in a situation where you need to relay a token permit in addition to some additional transaction(s). While the additional transaction(s) can be forwarded via ERC2771Forwarder - considering the target contract implements ERC2771Context- the permit can not because the token is not "trusting" this forwarder.
However, not trusting the forwarder is not a problem as the permit does not rely on altering the context.
For any flow that requires an approval in order to forward the rest of a transaction batch this would be very useful.
📝 Details
As far as i can tell the Forwarder itself is not part of the Spec, so i think it's worth considering to remove the isTrustedForwarder check as I don't actually see any downside of not having it - worst case the txn would revert. This is in line with how the previous MinimalForwarder worked.
edit: I see this was changed in #4502 (comment) specifically to prevent accidents caused by approving the forwarder, but the fix as lined out above, can actually cause problems.