View Source Changelog
v0.5.5 (2024-12-03)
Enhancements
- Add
from_block
andto_block
options toEthers.get_logs/2
- Add RPC adapter behaviour and proxy for Ethereumex.HttpClient
- Move and export abi decode functionality to
Ethers.TxData
module - Export
Ethers.TxData.to_map/2
in docs - Add
Ethers.Event.find_and_decode/2
function
v0.5.4 (2024-10-22)
Bug fixes
- Handle
nil
values when decoding transaction values for RLP encoding
v0.5.3 (2024-10-14)
Enhancements
- Make event filter arguments optional in typespecs
v0.5.2 (2024-08-08)
Bug fixes
- Handle
{:ok, nil}
from RPC get block by number request
Enhancements
- Enable raw use of
Ethers.call/2
(usage without function selector) - Add optional backoff to
Ethers.Utils.date_to_block_number/3
v0.5.1 (2024-08-02)
Enhancements
- Mark
ex_keccak
as optional using SKIP_EX_KECCAK environment variable
v0.5.0 (2024-05-29)
Breaking Changes
- Rename
NotERC165CompatibleError
toErrors.NotERC165CompatibleError
Bug fixes
- Handle unexpected errors in ExecutionError exceptions
v0.4.5 (2024-04-27)
Enhancements
- Add
Ethers.NameService.reverse_resolve/2
to reverse resolve addresses to domains
v0.4.4 (2024-04-17)
Enhancements
- Add ERC-165 contract and behaviour
- Add
skip_docs
option for contract module doc and typespec generation - Allow skipping checksum address in
Ethers.Utils.public_key_to_address/2
v0.4.3 (2024-04-05)
Bug fixes
- Fix
Ethers.Multicall
typespecs
v0.4.2 (2024-04-04)
Enhancements
- Support sending raw transactions using
Ethers.send/2
- Add
Ethers.get_transaction_count/2
v0.4.1 (2024-04-02)
Enhancements
- Add support of getting current
max_priority_fee_per_gas
- Use latest
max_priority_fee_per_gas
from the chain as default value in transactions
v0.4.0 (2024-03-11)
Breaking Changes
- Custom errors will be returned as error structs instead of raw RPC response
- Updated ERC20, ERC721 and ERC1155 ABIs to Openzeppelin 5.x
Enhancements
- 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
v0.3.1 (2024-03-05)
Bug fixes
- Fix trimmed zeros in transaction encoder with unified hex encoding for transaction
v0.3.0 (2024-02-05)
Breaking Changes
- Removed
signature_v
,signature_recovery_id
andsignature_y_parity
fromEthers.Transaction
struct and introduce newsignature_v_or_y_parity
value - Update
ex_abi
to 0.7.0 with newmethod_id
logic for event selectors and use its value
Enhancements
- Cleanup implementation of Transaction encoders and value decoder
v0.2.3 (2024-01-29)
New features
- Add
Ethers.get_transaction_receipt/2
function to query native chain transaction receipt by transaction hash.
Enhancements
- Add more metadata to
Ethers.Transaction
struct. - Return
Ethers.Transaction
struct inEthers.get_transaction/2
function. - Support
get_transaction
in batch requests.
v0.2.2 (2024-01-08)
New features
- Add
Ethers.get_transaction/2
function to query native chain transaction by transaction hash.
v0.2.1 (2024-01-04)
New features
- Add
Ethers.get_balance/2
function to query native chain balance of accounts.
Bug fixes
- Encode integers to hex even when they are part of params
v0.2.0 (2024-01-01)
New Features
Ethers.sign_transaction/2
function- Signer behaviour
- Local Signer implementation
- JsonRPC Signer implementation
Ethers.Transaction
struct and helper functions
v0.1.3 (2023-12-26)
Bug fixes
- unsized integer encoding to hex will now raise if given negative numbers.
Utils.date_to_block_number/3
going to negative block numbers issue fixed.
v0.1.2 (2023-12-12)
Breaking Changes
TxData.to_map/2
now returns hex values for all integers.Utils.maybe_add_gas_limit/2
now adds hex gas limit value instead of integer.
v0.1.1 (2023-11-22)
Bug fixes
- Multicall: aggregate_3 decoder returns
nil
in case of failure - Multicall: Feed decoded results through
Utils.human_arg/2
v0.1.0 (2023-11-19)
New Features
- Checksum address utility functions
Enhancements
- Use zip_reduce for event generators
- Move documentation generators to ContractHelpers
- Display message for empty parameters or return types
Ethers.call/2
andEthers.get_logs/2
now 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/2
now 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
Multicall3
throughEthers.Contracts.Multicall3
- Added
Ethers.Multicall
as an abstraction forEthers.Contracts.Multicall3
- Added batching functionality using
Ethers.batch/2
Breaking Changes
- The generated contract functions no longer call or send transactions, They will only prepare parameters
To execute an explicit call to
Ethers.send/2
orEthers.call/2
is required - Events no longer accept
address
overrides. Overriding now happens atEthers.get_logs/2
- Function
Ethers.get_logs/3
is now changed toEthers.get_logs/2
- Generated contract modules and EventFilter modules
default_address/0
function is now renamed to__default_adress__/0
to prevent collision - Removal of
Ethers.RPC
module - Remove
Ethers.Types.dynamically_sized_types/0
function Ethers.call/2
response is not always a listEthers.deploy/4
is now removed and replaced withEthers.deploy/2
Bug fixes
- Fix event filters with mixed indexed and non-indexed arguments
v0.0.6 (2023-09-06)
Enhancements
- Update
dialyxir
dependency to 1.4.0 - Update
ex_doc
to 0.30.6 - Add more function to
Utils
module - Improve failure return values of deployment functions
Bug fixes
- Fix RPC options and client override issue
- Do not add
nil
to address when address is not present
v0.0.5 (2023-08-21)
Enhancements
- Add ENS (Ethereum name service) contracts and helper functions
- Update
ex_doc
dependency to 0.30.4 - Address
Logger.warn
deprecation
v0.0.4 (2023-07-14)
Enhancements
- Update
ex_doc
dependency to 0.30.1 - Update
jason
dependency to 1.4.1
v0.0.3 (2023-05-29)
Enhancements
- Improved generative documentation for modules
- Improved gas estimation API
- Add gas limit to sending trasnactions
- Remove redundant gas estimation function
Bug fixes
- Fix bitsize check guard to include all available solidity bitsizes
v0.0.2 (2023-04-24)
Bug fixes
- Include the priv directory in mix releases
v0.0.1 (2023-04-24)
First Release