Migrating from Woke 3.x#
In the version 4.0.0, the framework was renamed from Woke to Wake.
This introduced breaking changes in a form of renamed modules (e.g. woke.testing -> wake.testing) and renamed CLI commands (e.g. woke test -> wake test).
Except for the name changes, there a few other breaking changes that are described in this document.
Configuration option changes#
The ignore_paths configuration options located under [compiler.solc] and [detectors] namespaces were renamed to exclude_paths.
The change was made to better reflect the purpose of the option and to be more consistent with other tools (e.g. pyright).
The timeout configuration option located under [testing] namespace was renamed to json_rpc_timeout and moved to the [general] namespace.
The woke.toml -> wake.toml migration script should automatically rename the options.
The same migration process is also performed in the Tools for Solidity VS Code extension.
Default accounts#
All 4 default accounts for each request type are now set to chain.accounts[0] (if available).
It is no longer needed to set the default accounts manually, like this:
detect CLI command#
The detect CLI command was re-implemented together with the new API for detectors.
To run all detectors, use the all subcommand:
See the output of wake detect --help for more information.
fuzz CLI command#
The fuzz CLI command was integrated into the test command. In order to run tests using multiple processes, use the -P flag to specify the number of processes.
wake test now always runs tests using the pytest framework (including multiprocessing tests). To run tests without pytest, use the --no-pytest flag.
The -s shortcut for the --seed flag was renamed to -S to avoid conflicts with the -s pytest flag.
may_revert and must_revert context managers#
The may_revert and must_revert now re-raise the caught exception if the exception does not match the expected type or value.
Previously, the context managers would raise an AssertionError instead.