- Add support of getting current
max_priority_fee_per_gas.
- Custom errors will be returned as error structs instead of raw RPC response
- Updated ERC20, ERC721 and ERC1155 ABIs to Openzeppelin 5.x
- Generate error structs from ABI and decode custom errors when error data is available
- Use JsonRPC signer as a default signer in
Ethers.sign_transaction/2
- Fix trimmed zeros in transaction encoder with unified hex encoding for transaction
- Removed
signature_v,signature_recovery_idandsignature_y_parityfromEthers.Transactionstruct and introduce newsignature_v_or_y_parityvalue - Update
ex_abito 0.7.0 with newmethod_idlogic for event selectors and use its value
- Cleanup implementation of Transaction encoders and value decoder
- Add
Ethers.get_transaction_receipt/2function to query native chain transaction receipt by transaction hash.
- Add more metadata to
Ethers.Transactionstruct. - Return
Ethers.Transactionstruct inEthers.get_transaction/2function. - Support
get_transactionin batch requests.
- Add
Ethers.get_transaction/2function to query native chain transaction by transaction hash.
- Add
Ethers.get_balance/2function to query native chain balance of accounts.
- Encode integers to hex even when they are part of params
Ethers.sign_transaction/2function- Signer behaviour
- Local Signer implementation
- JsonRPC Signer implementation
Ethers.Transactionstruct and helper functions
- unsized integer encoding to hex will now raise if given negative numbers.
Utils.date_to_block_number/3going to negative block numbers issue fixed.
TxData.to_map/2now returns hex values for all integers.Utils.maybe_add_gas_limit/2now adds hex gas limit value instead of integer.
- Multicall: aggregate_3 decoder returns
nilin case of failure - Multicall: Feed decoded results through
Utils.human_arg/2
- Checksum address utility functions
- Use zip_reduce for event generators
- Move documentation generators to ContractHelpers
- Display message for empty parameters or return types
Ethers.call/2andEthers.get_logs/2now automatically convert integer block numbers to hex values- Return structs as a result in generated functions and event filter with Inspection protocols implemented for better development experience
- Support dynamically sized indexed event filters (bytes, strings, arrays and structs)
Ethers.call/2now only returns as a list if the return type is either a solidity array or tuple- Add return names in documentations and TxData inspection
- Added an interface for
Multicall3throughEthers.Contracts.Multicall3 - Added
Ethers.Multicallas an abstraction forEthers.Contracts.Multicall3 - Added batching functionality using
Ethers.batch/2
- The generated contract functions no longer call or send transactions, They will only prepare parameters
To execute an explicit call to
Ethers.send/2orEthers.call/2is required - Events no longer accept
addressoverrides. Overriding now happens atEthers.get_logs/2 - Function
Ethers.get_logs/3is now changed toEthers.get_logs/2 - Generated contract modules and EventFilter modules
default_address/0function is now renamed to__default_adress__/0to prevent collision - Removal of
Ethers.RPCmodule - Remove
Ethers.Types.dynamically_sized_types/0function Ethers.call/2response is not always a listEthers.deploy/4is now removed and replaced withEthers.deploy/2
- Fix event filters with mixed indexed and non-indexed arguments
- Update
dialyxirdependency to 1.4.0 - Update
ex_docto 0.30.6 - Add more function to
Utilsmodule - Improve failure return values of deployment functions
- Fix RPC options and client override issue
- Do not add
nilto address when address is not present
- Add ENS (Ethereum name service) contracts and helper functions
- Update
ex_docdependency to 0.30.4 - Address
Logger.warndeprecation
- Update
ex_docdependency to 0.30.1 - Update
jasondependency to 1.4.1
- Improved generative documentation for modules
- Improved gas estimation API
- Add gas limit to sending trasnactions
- Remove redundant gas estimation function
- Fix bitsize check guard to include all available solidity bitsizes
- Include the priv directory in mix releases
First Release