argotorg / argotorg/solidity

SMTChecker: Handle `call` with empty data in the same way as `send`

Open
#16,400 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.