View Source Changelog

v0.5.5 (2024-12-03)

Enhancements

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

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 to Errors.NotERC165CompatibleError

Bug fixes

  • Handle unexpected errors in ExecutionError exceptions

v0.4.5 (2024-04-27)

Enhancements

v0.4.4 (2024-04-17)

Enhancements

v0.4.3 (2024-04-05)

Bug fixes

v0.4.2 (2024-04-04)

Enhancements

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 and signature_y_parity from Ethers.Transaction struct and introduce new signature_v_or_y_parity value
  • Update ex_abi to 0.7.0 with new method_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

Enhancements

v0.2.2 (2024-01-08)

New features

v0.2.1 (2024-01-04)

New features

Bug fixes

  • Encode integers to hex even when they are part of params

v0.2.0 (2024-01-01)

New Features

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 and Ethers.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 through Ethers.Contracts.Multicall3
  • Added Ethers.Multicall as an abstraction for Ethers.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 or Ethers.call/2 is required
  • Events no longer accept address overrides. Overriding now happens at Ethers.get_logs/2
  • Function Ethers.get_logs/3 is now changed to Ethers.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 list
  • Ethers.deploy/4 is now removed and replaced with Ethers.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