Open
Description
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
- relevant discussion: feat(forge): revert diagnostic inspector #10446 (comment)
- potential inspiration: hardhat revert diagnostics
Metadata
Metadata
Assignees
Type
Projects
Status
Backlog