Skip to content

Releases: Ackee-Blockchain/wake

v4.8.0 🇨🇭

05 Apr 10:35
Compare
Choose a tag to compare

Features & improvements:

  • implemented callback commands for LSP printers
    • go to locations, peek locations, open URI, copy to clipboard
  • Wake console.log is now tread as library (in respect to detectors)
  • Wake console.log is now auto-completed in Solidity imports through LSP
  • random seeds used in testing are now printed in pytest summary
  • documented possible test reproducibility issues and their solutions

Fixes:

  • fixed empty array encoding in new abi coder
  • Python warning messages are suppressed in shell completions
  • fixed LSP config loading race conditions
  • newly excluded Solidity files in LSP are now treated as deleted (fixes LSP crashes)
  • primitive types (e.g. bytes32) are now returned from keccak256 and read_storage_variable
  • fixed get_variable_declarations_from_expression recursion bug

v4.7.0

16 Mar 09:49
Compare
Choose a tag to compare

Features:

  • added support for Solidity 0.8.25

Fixes:

  • fixed compilation crashes when using Solidity log0 - log4
  • fixed compilation crashes when using bytes.pop()
  • fixed random affected by logging - created custom Random instance
  • fixed compilation crashes in AST validation with Solidity <= 0.7.2

v4.6.0

13 Mar 13:17
Compare
Choose a tag to compare

Features:

  • added visit_ functions for base classes to visitors
  • added on_revert handler example to the default test template
  • IR types (wake.ir.types) are now strictly comparable
  • improved printing of structs and errors in call traces
  • updated axelar-proxy-contract-id detector
  • mint_erc20, burn_erc20 now works with constant total supply tokens (warning is printed that total supply cannot be updated)

Fixes:

  • fixed multiple issues in call traces printing
  • fixed Python linter firing when using pytypes with new version of primitives types (uint256, etc.)
  • fixed the type of .min .max members of primitive integer types
  • fixed is_reachable helper function in ControlFlowGraph

v4.5.1

17 Feb 10:22
Compare
Choose a tag to compare

Fixes:

  • ValueError is no longer raised for experimental abi.encode_with_signature and abi.encode_call with ambiguous integers
  • fixed mint_erc20/burn_erc20 for most tokens

v4.5.0

12 Feb 11:57
Compare
Choose a tag to compare

Features:

  • Accounts / contracts can now be created without default_chain connected
  • added new unsafe-erc20-call detector
  • added support for named arguments in call traces
  • reprlib is used again in call traces, full call traces can be enabled with -v CLI option
  • added alias -h for --help on command-line
  • added .min and .max members to int/uint types
  • added new experimental abi coder

Fixes:

  • fixed coverage collection with new Anvil
  • fixed coverage collection on macOS/Windows
  • fixed ambiguous errors resolving when reverting in contract constructor
  • fixed ERC- slots detection using storage layout
  • fixed debugger attachment when chain is not connected

v4.4.1

30 Jan 21:55
Compare
Choose a tag to compare

Fixes:

  • changed detectors/printers preview interface causing __init__ and click entry points being run even when not intended to be run on CLI / in LSP
    • fixes OSError(30, 'Read-only file system') error messages in LSP on macOS
  • fixed compiling projects from sources on Etherscan-like explorers in testing framework helper functions

v4.4.0

27 Jan 15:49
Compare
Choose a tag to compare

Features:

  • Solidity 0.8.24 support
  • LSP providers in detectors and printers (preview)
  • ErrorDefinition and EventDefinition are now supported in pair_function_call_arguments helper function

Fixes:

  • fixed pair_function_call_arguments - struct construction with (possibly nested) mapping in Solidity < 0.7
  • fixed LSP crash on file opened but not saved on disk

v4.3.2

23 Jan 18:27
Compare
Choose a tag to compare

Fixes:

  • fixed issue when generating pytypes for cyclically imported Solidity files with inheritance
  • fixed wake test multiprocessing mode on macOS and Windows

v4.3.1

09 Jan 20:10
Compare
Choose a tag to compare

Fixes:

  • fixed wake test multiprocessing mode when running more than one test
  • fixed global TOML config file not always loaded with local wake.toml in LSP
  • fixed counter example README

v4.3.0 🎄

24 Dec 20:12
Compare
Choose a tag to compare

Features:

  • print warnings when a detector set in config options is not discovered (both on the CLI and in LSP)
  • added new complex-struct-getter and struct-mapping-deletion detectors
  • added new c3-linearization printer
  • re-run detectors after modifying a loaded detector

Fixes:

  • fixed Yul return ignored in the control flow graph
  • fixed AssertionError in call traces when running out of gas
  • fixed abi-encode-with-signature detector when processing signatures with nested brackets
  • fixed detectors were not re-run after changing a detector-specific setting
  • bumped abch-tree-sitter minimal version, fixing the language server crashes caused by distutils not being available in Python 3.12