allow symbolic bytecode in `hevm equivalence`
- Dominant language
- Haskell
- Stars
- 358
- Forks
- 79
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 6
Description
in runtime bytecode, there is often bytecode which is never executed, but may be copied to memory via `codecopy`. it would be nice to be able to have bytecode like
CODECOPY 0, 100, 32
and in the actual bytecode provided to `hevm equivalence`, use sentinel nibbles like `SSSS..SS` at offset 100. then hevm would interpret this as symbolic data. of course, if the symbolic bytecode is actually *reachable* (it shouldn't be!), execution should terminate with an exception.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the hevm equivalence entry point and trace runtime-bytecode handling through the CODECOPY execution path. Check how symbolic values and unreachable execution are represented, then verify that sentinel data can be copied symbolically while execution of that data terminates with an exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- blockchain, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100