How to handle internal txs error? I would like to revert if the main contract says so...
The case was described here: https://help.gnosis-safe.io/en/articles/4792332-my-safe-transaction-failed-but-etherscan-reports-success-why-is-that
Code to reproduce
I am also facing this issue. Do we have any directions?
Hey @altyni and @loks2cool_A,
Can you provide more details? Is this something you want to handle within a custom contract implementation? Or what Defender component is related to?
Happy to help once I understand what you're looking for.
Sure, the scenario is - After submitting the meta transaction, the transaction status shows "success", but it has a message like " Although one or more Error Occurred [ execution reverted ] Contract Execution Completed"
When we do debug using geth trace, it shows a plain Static call / Call error.. It would be great if there is direction on how to debug the same?..Like specific error details
Reference - https://rinkeby.etherscan.io/tx/0xb79cb701ca183257677fdb0e6749235e185ba50064f43c0e724a788a97d817f2
Unfortunately, this is not a problem with Defender, so we can't provide a built-in solution as far as I can tell. The Relayer is guaranteed to abstract nonce and price management from you and ensures that the transaction will pass as long as there is no revert at the first level (not accounting for subcalls).
Depending on your case, I'd suggest to update (or create) to another smart contract that uses the
(bool success, ) = addr.call(...) syntax to properly validate and throw, so you can get a
Cannot estimate gas... error on the Relayer side.
But again, depends on the case, and if it's with a Safe, I'm afraid the only way to check it out is to get the call trace once the transaction is mined
Sure I understand.. Thanks for the clarification