GSN Provider won't direct transactions via relayer

:computer: Environment

  • node v13.12.0
  • npm 6.14.4
  • @openzeppelin/gsn-provider ^0.1.10

:memo:Details
I came across a very peculiar error
wrote up a quick counter contract - gsn compatible, with gsn recipient signature strategy: https://gist.github.com/nglglhtr/cdeefff17ba8854c20f6f4b56e22b0c0

When I try interfacing with it, via web3 - a simple node script: https://gist.github.com/nglglhtr/fe0f07f7222c5e84a41e708709ef2073,
if the object in send has a address added in the wallet, the transaction somehow bypasses sending it to the relayer, but when i give in just the address it goes through — basically, if the line 22 is uncommented and 23 is commented, the transaction does not go via the relayer but other way round it does.

Is that expected?

1 Like

Hi @nglglhtr,

Sorry for the delay in getting back to you. I was on vacation last week.

When I tried testing this, if the account has funds then a transaction is sent, otherwise a the transaction is relayed via the GSN. I assume this is the difference between the two addresses, the first being an unlocked account on ganache-cli with funds whilst the second is a private key with no funds.


Regards the GSN:

  • GSNv1 : Use in production now (though you may want to run your own relayer on mainnet to ensure availability).
  • GSNv2 : In development at OpenGSN.org.

See Doubling down on security for more details.

Assuming you are just getting started and depending on your development roadmap, you could look at the upcoming improvements in GSNv2. I suggest joining the OpenGSN telegram to get the latest news on GSNv2 development and timescales.