Skip to content

Releases: Ackee-Blockchain/wake

v4.9.0

25 Apr 15:45
Compare
Choose a tag to compare

Features & improvements:

  • new deploy method for contract deployment from creation code [testing framework]
  • introduced alias chain = default_chain [testing framework]
  • chain.txs can now be indexed with numbers [testing framework]
  • chain.chain_id is now cast to uint256 [testing framework]

Fixes:

  • fixed process count setting for collecting coverage [testing framework]
  • fixed LSP race conditions on files updated outside of IDE (VS Code) [language server]
  • fixed is_reachable is control flow graph [static analysis]
  • fixed add_hover_from_offsets LSP printers API function [language server]
  • fixed regex parsing from source code containing comments [core]
  • fixed recursion in expression_is_only_owner function [static analysis]
  • fixed pytypes generator overloading + inheritance issue [testing framework]

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