not all transactions on tenderly that contain reverts are unsuccessful

Open
#700 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript

Research direction

Start by reproducing the linked transaction scenario on Safe v1.3.0 with a Tenderly simulation, where an internally reverted call is caught and the transaction completes. Trace the Safe UI warning based on the simulation result; done means successful transactions with caught internal reverts are not presented as certain failures.

Written by the indexing model from the issue text.

Description

Description

we just had a tx which was being flagged as "failing" or "reverting" by the safe ui based on the tenderly sim. however, a try:catch code block in our smart contract catches that revert and thus the transaction completes successfully at the end. we executed it anyway and it went through. see https://etherscan.io/tx/0xcdc7a4f60a74671e5553f9cd234ce065c9d96e2736eddf2b52e0602f49b20035 (note the Although one or more Error Occurred [execution reverted] Contract Execution Completed)

anyway i think the checking for reverts should be a bit more specific, not all reverts mean the tx will fail. it took us a while to muster the courage to exec because of your warnings 🙂

Environment

safe v1.3.0, mainnet

Steps to reproduce

post a tx that will revert internally, but which will be caught by a try:except and thus execute succesfully. then run tenderly sim and check warning.

Expected result

less aggressive warning

Obtained result

aggressive warning (tx will fail!). not true.

Screenshots

didnt take any

Dominant language
TypeScript
Stars
116
Forks
84
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from safe-global/safe-react-apps

All issues in safe-global/safe-react-apps

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.