SMTChecker: Handle `call` with empty data in the same way as `send`
Open
low impact
medium effort
smt
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 29
Description
In particular, we should create a verification target for checking sufficient balance is available.
While `send` and `transfer` were not treated as untrusted external calls, I think they actually should have been treated as such (because of possible reentrancy).
Contributor guide
Research direction
The issue does not name files or tests. Start by locating SMTChecker handling for call, send, and transfer, then compare how empty-data calls are modeled; done means call with empty data creates a sufficient-balance verification target and send/transfer are treated as potentially reentrant external calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, solidity
- Domain
- blockchain, compilers, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100