GSN with ERC20 Compliant Smart Contract

Hi @sirphemmiey,

Welcome to the community forum :wave: Thanks for posting your question here.

The issue is that the ERC20 token is not GSN enabled.

To use an ERC20 token with a contract receiving tokens requires two transactions:

  1. Approve : The user calls approve to set an allowance for the ERC20 token to use with the contract receiving tokens. (or use increaseAllowance )
  2. Transfer From : The user calls the contract which then calls the ERC20 token transferFrom function to transfer an amount of ERC20 token to the contract receiving tokens.

If only the contract is GSN enabled, then users would still need to have Ether to call approve to set an allowance.

Otherwise for users not to require Ether, both the ERC20 token and the contract receiving tokens would both need to be GSN enabled. This would still require two transactions.

Is there a specific ERC20 token that you are looking at?
How will your users obtain the ERC20 tokens?

One potential solution (depending on the token and how they obtain it) could be: