Skip to content

0.8.0

Latest

Choose a tag to compare

@alisinabh alisinabh released this 30 Jul 03:39

What's Changed

Enhancements

  • Add EIP-7702 set-code transaction support (type 4)
  • Add Ethers.fee_history/4 (eth_feeHistory) with decoded integer quantities, also usable in Ethers.batch/2 via {:fee_history, [block_count, newest_block, reward_percentiles]}
  • Add Ethers.estimate_fees/1: estimate EIP-1559 max_fee_per_gas and max_priority_fee_per_gas from recent blocks' priority fees (:slow/:standard/:fast speeds or a raw percentile) with max_fee_per_gas = 2 * next_base_fee + priority_fee
  • Transaction auto-fill now prices EIP-1559 transactions with Ethers.estimate_fees/1 instead of overpaying with a margin over eth_gasPrice, falling back to the legacy behaviour on RPC clients without eth_feeHistory support
  • Add state override support to Ethers.call/2 and Ethers.estimate_gas/2 via the new :state_overrides option: simulate calls against spoofed balances/nonces, injected contract code or rewritten storage slots (see Ethers.StateOverride)
  • Add Ethers.create_access_list/2 (eth_createAccessList): generate the EIP-2930 access list a transaction would touch, in a format that plugs directly back into the :access_list transaction override

Pull Requests in Release

  • Add EIP-7702 (type 4) transaction support by @alisinabh in #269
  • Add eth_feeHistory based fee estimation by @alisinabh in #270
  • Add eth_call state overrides and eth_createAccessList support by @alisinabh in #271

Full Changelog: v0.7.0...v0.8.0