Woke

Latest version: v3.6.2

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

Scan your dependencies

Page 2 of 4

3.3.0

Features:
- added support for Avax C-chain
- added `client_version` prop to `Chain`
- added list of supported chains to the documentation

Changes:
- now using `2 * base fee of pending block` instead of `1.25 * base fee of pending block` in deployment
- 10% margin is added to the gas limit reported by `eth_createAccessList`

Fixes:
- fixed issue when deleted files not detected in the LSP server
- fixed compiler watch mode - newly created files that should be ignored are still compiled
- compiler-errored files are now not included in build artifacts
- fixed compiler watch mode crash when files renamed
- fixed compilation/LSP server crash when `IdentifierPathPart` refers to `SourceUnit`
- fixed gas estimates on Polygon occasionally fail
- fixed unfinalized data cannot be queried on Avax
- fixed Bad Request HTTP error thrown by some clients
- fixed detection of the Hermez client
- fixed nonce too low occasionally in deployment

3.2.0

Features:
- improved performance when running multiple tests in a single command by re-using already running development chain instances
- added support for the Bor client (Polygon)
- implemented `--no-ask` and `--silent` CLI args for `woke run`
- added support for the Nitro client (Arbitrum)
- added support for Binance Smart Chain
- added support for the Hermez client (Polygon zkEVM)
- added more chain explorer URLs to the index
- migrated from `pdbr` to `ipdb`
- implemented `tx.raw_return_value` property

Fixes:
- fixed blockchain explorer API URLs (Goerli Etherscan, ...)
- `Account.balance` now can be assigned using string literals with units
- fixed unnecessary invocations of `debug_traceTransaction` when fetching events
- fixed infinite loop of generating pytypes due to the `watchdog` dependency update (pinned version of the `watchdog` dependency as a temporal solution)
- fixed test functions not detected in `woke fuzz` when decorated
- `Address(0)` is not recognized as a precompiled contract in call traces anymore
- fixed development chains kept running in some cases
- fixed fuzzer subprocesses kept running in some cases
- fixed handling of unpickleable exceptions in fuzzer
- fixed massive memory consumption in long-running tests caused by implicitly storing all txs info

3.1.0

Features:
- implemented coverage analysis for `woke test` and `woke fuzz` (can be viewed using the [Tools for Solidity](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity) VS Code extension)
- generated `pytypes` contain `Source file` links to original Solidity sources
- already deployed contracts can be recognized in call traces in forking mode with corresponding blockchain explorer API keys set
- precompiled contracts are recognized in call traces
- console logs are now supported with Ganache, Geth, and Hardhat
- `woke accounts list` prints accounts in the sorted order (by their alias names)
- `woke run` executes scripts in the sorted order
- better error message when no fuzz flows are available to run

Fixes:
- fixed `AttributeError` exception when detecting flows and invariants in `FuzzTest`
- `eth_createAccessList` is not used in deployment by default if not available
- access list from `eth_createAccessList` is only used in deployment by default if cheaper
- fixed call traces with contracts that cannot be recognized from the creation code
- fixed call traces with function calls with badly ABI-encoded data

3.0.0

Breaking changes:
- transaction calls (`request_type="tx"`, default for non-pure non-view functions) now always return a transaction object, this behavior cannot be changed
- this does not apply to the `.deploy()` method that still returns a contract instance and a transaction object can be requested using `return_tx=True`
- the latest available transaction type is now used instead of type 0 (legacy) transactions
- `ContractType.deployment_code()` was renamed to `ContractType.get_creation_code()`

New features:
- implemented `woke.deployment` module that automatically sets transaction fees, gas limit and prompts users to confirm transactions and interactively shows sent transactions
- added support for Geth
- `chain.connect` context manager now accepts `gas_price` and `block_base_fee_per_gas` kwargs
- implemented `chain.set_min_gas_price()`
- added support for type 1 (EIP-2930) and type 2 (EIP-1559) transactions
- added `effective_gas_price` property to `TransactionAbc`
- added support for access lists
- access lists can be passed as kwargs to transaction calls or generated using the `access_list` request type
- `call` requests now accept `block` kwarg to set execution context of the call
- `.deploy()` methods now support request types
- implemented `woke accounts` CLI commands
- implemented `Account.new()` to create a new account with a random private key
- implemented support for importing accounts from private keys, mnemonics and aliases
- implemented raw message signing, structured message signing and message hash signing
- implemented `__bytes__` on `Address`
- functions accepting Wei argument now also accept string literals with units (e.g. `10 gwei`)
- added `tx` field to `TransactionRevertedError` to access a transaction object of the transaction that caused the revert

Fixes:
- `estimate` request now by default uses `pending` block execution context instead of `latest`
- fixed `overload` declarations in pytypes
- `type` field is not longer set in type 0 transactions
- `tx.block` and `tx.tx_index` are now always fetched from a transaction receipt
- fixed `Address` comparison and hashing

2.2.0

- Added experimental support for Python 3.11
- `eth-ape`, `eth-brownie` and `web3` pytest plugins are no longer activated with `woke test`
- Created [Compilation](https://ackeeblockchain.com/woke/docs/latest/compilation/) and [Migrating from Ape & Brownie](https://ackeeblockchain.com/woke/docs/latest/testing-framework/migrating-from-ape-and-brownie/) documentation pages
- Increased minimal version of `rich` to 13.3.2
- Fixes issue: dataclasses (events and errors) without fields printed as an empty string

2.1.0

- added support for Solidity 0.8.19
- implemented `chain.set_next_block_base_fee_per_gas`
- `pytypes` now include `pure` and `view` functions of libraries
- `Address` is not EIP-55 checksummed anymore for performance reasons
- added new LSP command for generating imports graph
- introduced new kwargs when launching a new dev chain - `accounts`, `chain_id`, `fork` and `hardfork`
- `Account` labels are now applied in call traces
- changed highlight range of some detectors in LSP server
- added `Shell completions` section to docs `Installation` page
- various bug fixes and user experience improvements

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.