- Returns error on invalid type conversion instead of panicking 691
- Change types mapping for solidity
bytes
to rustethers::core::Bytes
and solidityuint8[]
to rustVec<u8>
. 613 - Fix
format_units
to return aString
of representing a decimal point float such that the decimal places don't get truncated. 597 - Implement hex display format for
ethers::core::Bytes
#624. - Fix
fee_history
to first try withblock_count
encoded as a hexQUANTITY
. #668 - Fix
fill_transaction
to set nonces in transactions, if the sender is known and no nonce is specified - Move
fill_transaction
implementation to the provider, to allow middleware to properly override its behavior.
- Add
MultiAbigen
to generate a series of contract bindings that can be kept in the repo #724. - Add provided
event_derives
to call and event enums as well #721. - Implement snowtrace and polygonscan on par with the etherscan integration #666.
- Add dependency graph and resolve all imported libraryfiles #750
Remapping::find_many
does not return aResult
anymore #707- Add support for hardhat artifacts #677
- Add more utility functions to the
Artifact
trait #673 - Return cached artifacts from project
compile
when the cache only contains some files - Add support for library linking and make
Bytecode
'sobject
filed anenum BytecodeObject
#656.
- add
EthAbiCodec
proc macro to deriveAbiEncode
AbiDecode
implementation #704 - move
AbiEncode
AbiDecode
trait to ethers-core and implement for core types #531 - Add EIP-712
sign_typed_data
signer method; add ethers-core typeEip712
trait and derive macro in ethers-derive-eip712 #481
- Allow configuring the optimizer & passing arbitrary arguments to solc #427
- Decimal support for
ethers_core::utils::parse_units
#463 - Fixed Wei unit calculation in
Units
#460 - Add
ethers_core::utils::get_create2_address_from_hash
#444 - Bumped ethabi to 0.15.0 and fixing breaking changes #469, #448, #445
- Correctly RLP Encode transactions as received from the mempool (#415)
- re-export error types for
Http
andWs
providers in #570 - add a method on the
Middleware
to broadcast a tx with a series of escalating gas prices via #566 - Remove unnecessary
Serialize
constraint toR
(the Response type) in therequest
method ofJsonRpcClient
. - Fix
http Provider
data race when generating new requestid
s. - Add support for
net_version
RPC method. 595 - Add support for
evm_snapshot
andevm_revert
dev RPC methods. 640
- Set resolved ENS name during gas estimation (1e5a9e)
LocalWallet::new_keystore
now returns a tuple(LocalWallet, String)
instead ofLocalWallet
, where the string represents the UUID of the newly created encrypted JSON keystore. The JSON keystore is stored as a file/dir/uuid
. The issue #557 is addressed #559
- Add
EventStream::select
to combine streams with different event types #725 - Substitute output tuples with rust struct types for function calls #664
- Add AbiType implementation during EthAbiType expansion #647
- fix Etherscan conditional HTTP support #632
- use
CARGO_MANIFEST_DIR
as root for relative paths in abigen #631
- Provide a way to opt out of networking support in abigen proc macro with
abigen-offline
feature #580 - Add
.call()
method toDeployer
for performing dry runs of contract deployments. #554 - Improve error message from failure in
ethers_contract_abigen::Source::parse
#552 - use enumerated aliases for overloaded functions #545
- add
EthCall
trait and derive macro which generates matching structs for contract calls #517 - Use rust types as contract function inputs for human readable abi #482
abigen!
now generatesDisplay
for all events using the newEthDisplay
macro #513abigen!
now supports overloaded functions natively #501abigen!
now supports multiple contracts #498
- (De)Tokenize structs and events with only a single field as
Token:Tuple
(#417)
- add the missing constructor for
Timelag
middleware via #568 - Removes GasNow as a gas price oracle #508
- Added Time Lagged middleware #457