Why relay worker not checking revert beforehand?

I’m connecting to gsn’s relay worker on Ropsten network, and it seems like it relayed all the transaction even they will revert onchain, like this one: Ropsten Transaction Hash (Txhash) Details | Etherscan.

I’ve tried multiple times but still the same result, so I’m guess it’s not a node syncing issue.

The relayer works for profit… If the paymaster agrees to pay, then the relayer will attempt to send the tx, and collect the fees (btw, the same is true for eth in general)

So either the client or the paymaster had to check if the (inner) transaction falls before submitting the request.

In the valent, you can estimateGas your tx to see if it reverts.

The paymaster can return "rejectIfRecipientRevert=true " which means it won’t pay for rejected transactions.

Note that in the latter case, the paymaster can STILL pay for tx, if it takes too much gas (about 100k, including the paymaster itself), so such a paymaster should not blindly trust any recipient contract, but only contracts that it knows to “reject early”

Thank you! I’ll try estimateGas