Woke

Latest version: v3.6.2

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

3.6.1

Fixes:
- fixed crashes caused by overloaded functions imported in import directives
- fixed crashes caused by new expressions being top-level expressions in expression statements

3.6.0

Features:
- implemented `get_logic_contract` helper function
- implemented `read_storage_variable` and `write_storage_variable` helper functions
- implemented `mint_erc20` and `burn_erc20` helper functions
- added support for the Erigon client
- `Account.new` now accepts `extra_entropy` argument
- added Holesky testnet explorer info
- call traces now contain more info (gas, value, sender, return value, error), the output is configurable

Changes:
- `ipdb` debugger is not attached on an exception with `woke --debug` (except for `woke --debug test`)
- private keys are now shared across all account instances with the same address, independent of a chain
- improved `random_bytes` performance
- `Account.new()` is now deterministic in `woke.testing`, improved performance
- Account labels are now applied in call trace arguments

Fixes:
- remappings priority rule if multiple matching, causing compilation errors
- workaround for Anvil constructor revert missing data
- added missing solc compiler error type
- fixed `may_revert`, `must_revert` context managers
- fixed non-elementary import cycles causing missing pytypes
- fixed instantiation of cyclically imported symbols in pytypes
- fixed pytypes - `$` in Solidity identifiers
- fixed generating pytypes - same file multiple source unit names
- fixed error importing pytypes if `__init__.py` does not exist in `tests` or `scripts`
- fixed collecting coverage before tx mined

3.5.0

Features:
- implemented `get_storage_at` and `set_storage_at` on development chain interfaces
- `may_revert` and `must_revert` now accept `str` and `int` params directly
- optimized imports in `cli` module to speedup `woke --version` and click auto-completions
- implemented `chain.set_next_block_timestamp`
- implemented `chain.mine_many`
- implemented `--incremental/--no-incremental` compilation CLI options

Changes:
- `reprlib` is no longer used when printing call traces

Fixes:
- fixed multiple different compilation crashes (including incremental compilation & LSP server crashes)
- `INVALID` opcode is now properly handled when processing debug traces
- fixed `woke test` crashes caused by library ABI patching
- fixed selectors of library functions in pytypes
- solc error secondary locations are now provided in LSP diagnostics
- `address` ABI type is now properly handled when using `Abi` encode & decode functions
- documentation fixes
- fixed `woke test` auto-completions and passthrough mode for `pytest`
- fixed fuzzer non-determinism (the same random seed lead to different scenarios executed)
- fixed `overflow-calldata-tuple-reencoding-bug` detector infinite loop with functions returning functions
- fixed IR `Assignment.assigned_variables` handle `FunctionCall` returning assignable objects (structs, `memory` & `storage` pointers)
- fixed IR `FunctionDefinition.canonical_name` was not unique

3.4.2

Fixes:
- fixed names in pytypes starting with double underscores
- fixed assertion crashes in pytypes due to events from `using for` directives included in ABI in 0.8.20
- fixed type conversion of return data in pytypes that are returned as a tuple

3.4.1

Fixes:
- fixed crashes of the LSP server on macOS and Windows
- vulnerability detectors are run in a subprocess on Linux and in the main process on macOS and Windows (where forking is not recommended/available)

3.4.0

Features:
- implemented LSP hover with helper text for Yul instructions
- implemented LSP parser allowing new LSP features:
- document links now work even with compilation errors
- auto-completion for file imports
- quick-fixes for some compiler warnings and errors
- references count in LSP code lens are now clickable
- implemented helper `on_revert` decorator for deployment & testing scripts
- implemented API to import `Address` from private key, mnemonic or alias
- added support for Solidity 0.8.20

Changes:
- added `--transaction-block-keep` to default Anvil args to avoid high memory consumption
- modified `pytypes` generator to better handle cyclic imports in original Solidity files

Fixes:
- fixed access list/tx type set in BSC transactions - thanks to aurel-fr
- fixed LSP references to variable declarations
- fixed LSP/compiler crashes caused by source unit aliases created in import directives

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.