Ape 0.7.0
Breaking Changes
fix!: Ape now uses the same HD Path as other testing environments @antazoey (#1774)
Meaning, Ape's test account keypairs are exactly the same the default Anvil and Hardhat nodes.
This makes it much easier to connect to already-running nodes!
feat!: network customization and tooling improvements @antazoey (#1764)
Now, when using the @network_option
, you can receive classes for each ecosystem
, network
, and provider
based on what you ask for in your command implementation. Also, NetworkBoundCommand
is deprecated. Please switch to ConnectedProviderCommand
, which works the same except has the new network behavior and the @network_option
is no required because it will happen automatically.
feat: from_rsv() and from_vrs() Signature class methods [APE-1600] @antazoey (#1765)
Now, it is easier to go from encoded bytes signature to MessageSignature
class using the new class methods.
This helps out with plugins like ape-safe which return signatures in the API in encoded format and Ape and other tools require the object format.
refactor!: a collection of breaking changes [APE-1417] @antazoey (#1677)
A bunch of breaking changes. Pay attention!
ape.api.providers.Web3Provider
was moved toape_ethereum.provider
.ape.utils.Aborts
is no longer a thing! Please useape.exceptions.Abort
now.- rename
ProviderAPI.get_storage_at()
toProviderAPI.get_storage
. ape.cli.get_user_selected_account()
is now deprecated. Please useape.cli.select_account
.branch
field on GitHub dependencies was officially removed. Please useref
instead.- Any ProviderAPI's that use block_identifier or
state_overrides
now mus beblock_id
orstate
and are official kwargs in each API method. ape.project.compilers_with_missing_ext
is now a Set instead of List since the data type makes more sense.ContractError
was renamed toContractDataError
and is now a base class toTransactionError
because most APIs were treating it as such anyway.- The problematic
ListTupleConverter
was deleted. - Delete gas tracking from the ReportManager - plugins should be using the test runner reference now, same as coverage.
- Unused
evm_version
was deleted from thecompile
config. It wasn't used! - Config
compiler.ignore_files
was removed. Use configcompile.exclude
instead.
refactor!: pydantic v2 upgrade [APE-1413] @antazoey (#1674)
- Ape and all its dependencies now work fully on and require Pydantic version 2.
feat!: rewrite poll methods with new API [APE-1411] @z80dev (#1673)
- Polling-based methods (blocks and events) were moved to the ProviderAPI and the ChainManager was refactored to use these methods to open the door for providers to define better options for polling.
refactor!: accept any msg type via AccountAPI.sign_message [APE-1305] @z80dev (#1614)
Account plugins now officially can decide what types of messages they can sign. This greatly increases use-cases with EIP-712 and the myriad of account APIs in various plugins.
feat!: update cached compilers improvements [APE-1500] @antazoey (#1721)
Now, Ape core offers more utilities for updating the cached manifest, including compiler-info needed for contract verification.
Ape core also now handles when Compiler plugins place compiler artifacts in the cache directory when performing verification.
Changes
- feat:
from_rsv()
andfrom_vrs()
Signature class methods [APE-1600] @antazoey (#1765) - fix: issue with interactive scripts would not be connected to right provider @antazoey (#1781)
- refactor: replace usage of
semantic_version.NpmSpec
withpackaging.version.SpecifierSet
@NotPeopling2day (#1782) - docs: fix a myriad of docs issues for 0.7 @antazoey (#1784)
- chore: upgrade
eip712
and ETH dependencies [APE-1617] @antazoey (#1773) - chore: update
setup.py
, removal ofurllib3
module version upper boundary requirement [APE-1610] @popraf (#1771)
Special thanks to: @NotPeopling2day, @antazoey, @popraf and @z80dev