Skip to content

enhance revert diagnostic inspector #10591

Open
@0xrusowsky

Description

@0xrusowsky

Component

Forge

Describe the feature you would like

current state

the revert diagnostic inspector currently identifies:

  • non-void calls to non-contract addresses (i.e. function number() external returns (uint256);)
  • void calls to non-contract addresses (i.e. function increment() external;)

additionally, the traces decoder is able to identify non-supported function calls to contracts that don't have a fallback fn. However, it is limited to local contracts for which the ABI is known.

to-do

enhance the revert diagnostics inspector to identify bytecode patterns that indicate reverts due to:

  • non-supported fn calls to contracts that don't have a fallback (so that the traces decoder is not needed and we are not limited to known ABIs)
  • call fails due to mismatch between the actual bytecode and the expected ABI (i.e. common case of ERC20 transfer not returning bool and returndata validation failing)

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions