crytic / crytic/slither

Constants on keccak256 usage

Open
#1,512 2 comments 1 reaction 0 assignees View on GitHub
echidna enhancement
Dominant language
Python
Stars
6.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

The idea came from a discussion with @0xPhaze. We should convert to constant calls to `keccak256` that are constants
```solidity
contract A{

function f() public returns(uint){
return uint(keccak256("something"));
}
}
```

This will be useful for the IR/echidna/proxy patterns

Contributor guide

Open the contributing guide

Research direction

The issue names no implementation files, tests, or entry points. Start by locating Slither's handling of Solidity keccak256 expressions and the IR paths relevant to constant evaluation; define the supported constant forms and verify the result against the IR, Echidna, and proxy patterns named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.