hevm v0.41.0 Release Notes

Release Date: 2020-08-19 // about 3 years ago
  • hevm-0.41.0

    ๐Ÿ”„ Changed

    • Switched to PVP for version control, starting now at 0.41.0 (MAJOR.MAJOR.MINOR).
    • โšก๏ธ z3 updated to 4.8.7
    • โœ… Generate more interesting values in property based testing,
      and implement proper shrinking for all abi values.
    • ๐Ÿ›  Fixed soundness bug when using KECCAK or SHA256 opcode/precompile
    • ๐Ÿ›  Fixed an issue in debug mode where backstepping could cause path information to be forgotten
    • Ensure that pathconditions are consistent when branching, and end the execution with VMFailure: DeadPath if this is not the case
    • ๐Ÿ›  Fixed a soundness bug where nonzero jumpconditions were assumed to equal one.
    • 0๏ธโƒฃ default --smttimeout changed from unlimited to 20 seconds
    • hevm symbolic --debug now respects --max-iterations

    โž• Added

    • hevm exec --trace flag to dump a trace
    • Faster backstepping in interactive mode by saving multiple snapshot states.
    • ๐Ÿ‘Œ Support for symbolic storage for multiple contracts


    โž• Added

    • ๐Ÿ‘Œ Support for solc 0.6.12 for linux

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support for libraries. To test a project which includes libraries you need to use:

      DAPP_BUILD_EXTRACT=1 dapp test


    โž• Added

    ๐Ÿ†• New commands:

    • seth source <address> fetches the contract source from etherscan
    • seth bundle-source <address> fetches contract source and compiles to combined json
    • seth run-tx <tx-hash> [--debug, --source <file>, --state <repository>],
      set hevm options according to the options given and hevm exec
    • seth debug <tx-hash> [--no-src] downloads etherscan source, executes previous txs in block and enters into an hevm interactive session for the given tx. --no-src skips the first step.
    • seth --{max-uint,max-int,min-int} print the largest numbers (in hex) of a given bitsize
    • seth call --hevm executes a call via hevm, rather than the RPC
    • seth call --debug executes a call interactively via hevm

    - seth --verbose prints some seth debugging information to stderr

    seth block can now be passed the --full option, which returns the full block.

    hexdata can be concatenated with :, e.g. '0xaa:0xbb' will be read as '0xaabb'.

    ๐Ÿ”„ Changed

    • seth --to-{hex,wei,word,address,dec,int256,ascii,fix,uint256} and
      seth --from-{ascii,wei} can now read values from stdin.
    • seth call now accepts empty calldata and also create transactions
      via --create.
    • seth --abi-function-json no longer returns a singleton list, but rather the JSON object it contained.
    • โšก๏ธ Updated hevm to 0.41.0