Skip to content

Releases: danhper/eclair

v0.1.8

14 Nov 17:05
v0.1.8
342f29e

Choose a tag to compare

Features

  • Add tx.from, tx.to, and tx.input properties to access transaction details

Other changes

  • Upgrade to alloy 1.1.0
  • Upgrade to Foundry 1.4.4

v0.1.7

10 Nov 13:11
v0.1.7
337f46c

Choose a tag to compare

Features

  • Add vm.getEnv to get environment variables
  • Add abi.getSignature to get the signature of a function or error by its selector
  • Add support for mapping to contract types

Bug fixes

  • Fix bytes to address casting
  • Fix Etherscan API V2 support

v0.1.6

03 Jun 17:04
v0.1.6
99fac80

Choose a tag to compare

Bug fixes

  • Fix conversion from bytesN to bytes
  • Fix traceCall not working with block option

v0.1.5

03 Jun 17:04
v0.1.5
c9d37fb

Choose a tag to compare

Features

  • Refactor account management functions:
    • Move all account management functions to accounts namespace:
      • Rename repl.current to accounts.current
    • Allow to select already loaded accounts without loading them again
    • Add more management functions to accounts namespace:
      • accounts.loaded to list all loaded accounts
      • accounts.select to select a loaded account
      • accounts.listKeystores to list all keystores in ~/.foundry/keystore/
      • accounts.alias to set an alias for an account
  • Add abi.decodeMultisend to decode Safe multisend transactions
  • Integrate 4byte.directory API to find function signatures by selector when decoding calldata

Bug fixes

  • Fix fixed bytes parsing/casting

Other changes

  • Add 0x prefix to JSON serialized bytes
  • Rename repl.loadAbi to abi.load and repl.fetchAbi to abi.fetch
  • Rename repl.connected to vm.connected
  • Rename POLYGON_API_KEY to POLYGONSCAN_API_KEY and POLYGON_ZKEVM_API_KEY to POLYGONSCAN_ZKEVM_API_KEY
  • Add support for Etherscan API V2

v0.1.4

26 Jan 16:24
v0.1.4
4ac4e90

Choose a tag to compare

Features

  • Add repl.fork to start run and use an Anvil instance as a fork of the current URL
  • Add repl.startPrank / repl.stopPrank to start/stop impersonating an address
  • Add FUNC.traceCall method to contract functions
  • Add abi.decodeData to decode function calldata and errors from any known ABI
  • Add address.transfer to send ETH to an address
  • Add json.stringify to convert a value to a JSON string
  • Add fs.write to write a string to a file
  • Add vm.skip and vm.mine to skip time and mine blocks

Other changes

  • Encode FixedBytes as with zero padding on the left instead of the right
  • Allow to load a private key from bytes32
  • Move repl.block, repl.startPrank, repl.stopPrank, repl.rpc, repl.fork, and repl.deal to vm namespace

v0.1.3

14 Aug 23:49
v0.1.3
b3ae1c8

Choose a tag to compare

Features

  • Decode logs returned by Transaction.getReceipt() when available in ABI
  • Add support for array concatenation
  • Add array.filter function
  • Add array.reduce function
  • Add support for bitwise operators
  • [EXPERIMENTAL] Add support for anonymous functions
  • [EXPERIMENTAL] Add support for fetching events
  • Add support for negative indices in arrays and slices

Bug fixes

  • Fix abi.decode for nested types
  • Fix completion not triggering right after [

Other changes

  • Drop Receipt type and use NamedTuple instead

v0.1.2

04 Aug 16:27
v0.1.2
f8ccd35

Choose a tag to compare

Features

  • Add repl.block()
  • Allow to customize more variables through call options:
    • block - block number to use for the call
    • from - address to use as msg.sender
    • gasLimit - gas limit to use for the transaction
    • maxFee - maximum fee to pay for the transaction
    • priorityFee - priority fee to pay for the transaction
    • gasPrice - gas price to use for the (legacy) transaction
  • Allow to select version of Eclair when installing using install script
  • Add repl.loadKeystore to load keystore from a file created by cast
  • Allow conversion between different fixed-size bytes types (e.g. bytes32 -> bytes4 or vice-versa)
  • Allow slicing on bytes and strings

Bug fixes

  • Fix parsing of fix bytes with less than 32 bytes (e.g. bytes4)
  • Fix display of functions that don't check argument types

v0.1.1

30 Jul 22:09
c87711a

Choose a tag to compare

Features

  • Add support for bytes<->uint256 conversion

Bug fixes

  • Fix bug with abi.encode and abi.decode that caused the functions to fail/return incorrect values

v0.1.0

26 Jul 17:38
cc5f5e4

Choose a tag to compare

This is the first release of Eclair.
Many of the features already work but it is not production ready and the API is still subject to change.