Skip to content

Releases: Jon-Becker/heimdall-rs

0.3.1

09 Feb 22:37
Compare
Choose a tag to compare
  • 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

02 Feb 00:45
2085eeb
Compare
Choose a tag to compare
  • 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.

      Benchmarks image

0.2.5

23 Jan 17:05
be45e91
Compare
Choose a tag to compare
  • Major decompilation optimizations, reducing runtime exponentially. [ #45 ]

0.2.4

19 Jan 18:15
ad93f27
Compare
Choose a tag to compare
  • Fixes a panic on unwrapping invalid conditional. [ #40 ]
  • Fixes event resolution. [ #43 ]

0.2.3

29 Dec 20:27
8157fae
Compare
Choose a tag to compare
  • Introduces the decompile library, which allows for use of heimdall-rs' decompile module in other rust projects. <@perama-v>
    • Documentation can be found in the wiki.

0.2.2

28 Dec 19:40
4e901eb
Compare
Choose a tag to compare
  • Fixes an issue with unwrapping a None event when analyzing traces. [ #33 ]

0.2.1

28 Dec 19:46
664dd40
Compare
Choose a tag to compare
  • 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

28 Dec 19:37
a6cb572
Compare
Choose a tag to compare
  • Decompiled solidity output is enabled through optional flag --include-sol <@Jon-Becker>
  • Multithreaded signature lookup <@Jon-Becker>
  • Efficient event signature lookup <@danyalprout>

0.1.8

15 Nov 21:49
e3bf939
Compare
Choose a tag to compare
  • Fixes dependency issues with unstable features on ethers

0.1.7

01 Nov 23:26
f0383ca
Compare
Choose a tag to compare
  • This release includes improvements for bifrost, including:
    • New -B / --binary flag to install heimdall from a precompiled binary attached to each release.