In order for a platform to integrate Open GSN for gasless meta-transactions the following steps are required:
deploy a Forwarder
contract, or use the existing deployed by GSN team.
create a Paymaster
contract with whitelisting logic, set the RelayHub address, fund it with ETH to use for gas
use GSN sdk on the frontend to send transactions
Both Open GSN V2 and V3 work with our contracts since they are based on the same standard.
I’ve tried to integrate Open GSN on a frontend and these are the results
Both GSN V2 and V3 work locally.
The only weird issue is that they don’t work if the hardhat accounts for localhost are not the default ones (a.k.a. we use our own mnemonic). In this case we get an error signature mismatch
when using the relayer client.
It’s probably something due to how the GSN local instance works (?).
Managed to make it work on both Mumbai and Fuji!
Some succesfull transactions: