-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider removing MinimalForwarder #3884
Comments
This might be a silly idea, but why not rename the contract & file name to something more obvious (it would be a breaking change, yes, but I don't think this matters in that case)? Maybe something like |
It could be documentation though, like "here's what a proto forwarder contract might look like". |
Speaking of myself, I prefer reading the code directly at first. So if I would want to get started with meta-transactions, I would search for code, issues, and PRs about that topic in the OZ repo. In any case - I agree that you should reflect it in the documentation. |
If minimalforwarder is not suitable for production, what should I use as a replacement? |
@grp06 maybe look at the Forwarder from GSN https://github.com/opengsn/gsn/blob/master/packages/contracts/src/forwarder/Forwarder.sol. They got 2 audits on their contracts, but I think this version was not included back then FYI. |
@pcaversaccio my understanding from Fran's message was that the contract itself can be documentation, not that is a documentation issue. The idea of having it in
Agree, but we don't keep things just because they might be useful, I believe there has to be a community-driven reason.
I'd better ask what you want to achieve. Using meta-transactions with EIP-712 signatures as with ERC20's permit could be enough for most of the use cases I'd say. |
Well, this somehow contradicts @frangio's message here, no?
Fully agreed, that's why I share my opinion here :) - my preferred solution for this issue is to move it into |
Somehow, yes. We do think that there's a problem with multiple users asking about this (as @grp06) and it's a legitimate question.
My intuition makes me feel that number 1 won't solve the issue long-term. So I'd advocate for not keeping it in the
Sure, we always appreciate your contributions! Do you know any relevant system based on EIP-2771? Although some people in the community might want to keep it in Aside from GSN, do we know other players relying on a forwarder implementation? 👈 That's a question for everyone. |
Ad-hoc, I know that Reddit relied on meta-transactions for their community tokens called "Moon". Here is the old Relay Hub contract (I think it's from GSN) on Rinkeby they used for gasless transactions: https://rinkeby.etherscan.io/address/0xd216153c06e857cd7f72665e0af1d7d82172f494. I don't know about the current setup tho. In case I encounter a further ecosystem besides GSN, I would let you know here. |
There is a 5th option which is to make MinimalForwarder suitable for production so we can recommend it to people. I think the only thing that it's missing is an expiration parameter. Is there anything else? |
For production, MinimalForwarder should become more easily to customize (eg let the function become virtual so we can override them) |
In the current state, money can also be lost due to the lack of refund; ref: #3664 Although I don't believe that should be a detractor to finalize a prod-ready implementation of |
We're proposing to make the MinimalForwarder production ready, also adding a
What do people think should fall into this category from the
Yes, we're definitely taking care of that if no major issues pop up during implementation 👍🏻 I'll send a PR to continue the discussion there. |
Even though the documentation states that this contract is not suitable for production use, that message isn't getting across and I believe we should just remove the contract entirely.
openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol
Lines 12 to 15 in 3d7a938
The text was updated successfully, but these errors were encountered: