Skip to content

Echidna 2.0.0 (beta 2)

Pre-release
Pre-release
Compare
Choose a tag to compare
@ggrieco-tob ggrieco-tob released this 25 Oct 17:03
· 369 commits to master since this release

Echidna 2.0.0 (beta 2) is the second beta release of the new version of our fuzzing tool for smart contracts, which continues with the new features, fixes and breaking changes. This release brings the following new major features:

  • Automatic integer overflow or underflow detection for solc 0.8.x or greater using --test-mode overflow. This mode detects integer issues across all the functions of the tested contract to show inputs cause under or overflows without modifying or adding anything in your code. For instance, it will detect an overflow here:
    function f(uint x, uint y) public {
      uint z = x + y;
      ... 
    }
  • Self destruction tests include any contract destruction (and not just the testing one). Additionally, they are disabled by default, making the UI easier to read.

Additionally, the psender and deployer addresses were changed to 0x10000 and 0x30000 respectively to be more readable. Please double check your properties to see if they work as expected.

Added

  • New testing mode: Integer under and overflow detection in solc 0.8 and greater [UNSTABLE FEATURE]
  • Added a new self-destruction test to check if any contract was destroyed.
  • Added new config options to enable or disabled all self-destruction tests using testDestruction [BREAKING CHANGE]

Removed

  • Self-destruction tests are disabled by default. [BREAKING CHANGE]

Fixed

  • psender and deployer address are changed to be 0x10000 and 0x30000, to be more readable [BREAKING CHANGE]
  • Upgraded to hevm 0.48.