Releases: Jon-Becker/heimdall-rs
Releases · Jon-Becker/heimdall-rs
0.3.3
What's Changed
- 🔧 fix: RETURNDATASIZE and other vm fixes by @Jon-Becker in #62
- ⚡ perf: vm performance improvements by @Jon-Becker in #66
- 🔧 fix: loop detection will check memory and storage by @Jon-Becker in #68
- ✨ feat: implement cache for
decode
,disassemble
,decompile
, &cfg
by @Jon-Becker in #70
0.3.2
0.3.1
- Allows for the CFG module to work on any EVM contract. [ #59, #53 ]
- Patches loop detection to be more thorough. [ #56 ]
- Introduces the
-c
or--color-edges
to the CFG module to colorize edges based on the JUMPI condition. This is useful for visualizing the flow of if statements. [ #59 ] - Minor memory optimizations. [ #59 ]
0.3.0
- Introduces the cfg module, which generates the control-flow graph for contract bytecode. [ #46 ]
- Workspace improvements for contributors. [ #47 ]
- Linting fixes & optimizations. [ #48, #50 ]
- Remove regex backtracing for loop detection. Switch to symbolic stack loop detection (thanks plotchy), which both improves runtime and removes the branch limit of 1000. [ #51 ]
-
Fully resolves #30
-
Runtime reduced significantly.
-
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
- Limit branches to 1000 branches. This is a patch for backtrack limit exceeded, as well as infinite branch recursion. [ #30 ]
- Requires further patching, but for now this will ensure all contracts can be partially decompiled. Functions will stop tracing for new branches when reaching the limit.
- Implement natspec comments for deubgging
- Argument natspec include potential types, in order of confidence.
0.2.0
- Decompiled solidity output is enabled through optional flag
--include-sol
<@Jon-Becker> - Multithreaded signature lookup <@Jon-Becker>
- Efficient event signature lookup <@danyalprout>