Creating a Custom RelayProvider

A RelayProviders allows a client to send signed transaction to the blockchain.

We provided our own implementation and you can do your own by following this guide.

Gsn Capable Interface

As not every contract can accept relayed transactions, we have provided a new Erc165 interface GsnCapable to test if the contract can accept relayed transactions. Additionally, the inherited interface can return the corresponding paymaster address paying for the transaction.

To test if the given contract is GsnCapable we can make use of the method supportsInterface with the interface-id of 0xa5a23640 on any smart contract (the interface-id is our own implementation). If the contract supports the interface, we can assume that it can handle relayed transactions.

Additional Resource

Below is a list of additional resources for more information: