all_internal_calls return different sequence, is it correct?
- Dominant language
- Python
- Stars
- 6.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the issue:
Hello. I write new detector and when I want to get all internal calls of function, using all_internal_calls, it return some times different sequence of calls. is it correct work of slither, or its bug? I dont change contract code.
```
function a() external {
b();
}
function b() internal {
c();
}
function c() internal {
...
}
```
a->b->c-b or sometimes a->c->b or something else
### Code example to reproduce the issue:
```
for internal_call_function in function.all_internal_calls():
print(internal_call_function._name)
```
### Version:
0.9.1
### Relevant log output:
_No response_
Contributor guide
Research direction
Start at the Python API entry point shown in the issue, function.all_internal_calls(), and reproduce the repeated calls with the Solidity functions a, b, and c. Compare the returned sequence across runs and determine whether the ordering is specified or unexpectedly variable. Done means the behavior is explained and, if it is a bug, the issue has a reproducible expected sequence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, solidity
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100