All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
bytesX
arguments toseth calldata
are automatically paddedseth 4byte
command returns the response from querying 4byte.directory for a given function signatureseth 4byte-decode
command queries 4byte.directory for matching function signatures, uses one to decode the calldata, and prints the decoded calldataseth 4byte-event
command returns the response from querying 4byte.directory for a given event topicseth abi-encode
command returns the ABI encoded values without the function signatureseth index
command returns the slot number for the specified mapping type and input dataseth --from-fix
command converts fixed point numbers into parsed integers with the specified number of decimalsseth run-tx
now fetches contract source from etherscan ifETHERSCAN_API_KEY
is set
- Address lookup no longer fails if
ETH_RPC_ACCOUNTS
is set, andETH_FROM
is an unchecksummed address - Contract creations with Dynamic fee transactions
seth debug
correctly executes transactionsseth chain
correctly identifiesoptimism-mainnet
andoptimism-kovan
post regenesis
seth basefee
command returns basefee for the latest block, or any block with[blocknumber]
parameterseth namehash <name>
to get the ENS namehash of a nameseth resolve-name <name>
to resolve an ENS name to an addressseth lookup-address <address>
to lookup the ENS name an address reverse resolves to- Dynamic transaction fee format transactions (EIP-1559) supported by introducing the flag
--prio-fee
and corresponding environment variableETH_PRIO_FEE
to seth and ethsign. If--prio-fee
is provided (orETH_PRIO_FEE
) is set, 1559 transaction will be used and--gas-price
will reflect the maximum gas price, rather than the absolute gas price. - If
ETH_RPC_ACCOUNTS
is set and the account corresponding toETH_FROM
exists in the keystore, Seth will sign the transaction locally and then publish it signed (previously it'd always send it to the node)
--gas-price
will be used asmax-fee
when--prio-fee
is set- [BREAKING] seth will no longer search Parity / OpenEthereum related keystores by default. These
keystores can still be searched by setting the
ETH_KEYSTORE
environment variable.
- Fix
--use
bug seth bundle-source
writes the contents of standard-json to the current directory to enable better sourcemaps for multi-file etherscan source code.seth estimate
no longer sets a gas limit when estimating gas
- Thanks to an upgrade in ethsign, seth is more likely to find your ledger live
account without having to set
ETH_HDPATH
.
- updated
nixpkgs
to the20.09
channel
seth calldata
returns correct abiencoding
seth combined-json
was renamed toseth-solc
and invokessolc
using the--standard-json
input.seth bundle-source
correctly interprets etherscan sources using standard json- the
--gas-price
argument can optionally accept agwei
suffix i.e.seth call --gas-price 100gwei ...
seth --use
can find solc versions in the nix store even if they are not present onPATH
- Correct help text for
seth --use
seth --use
searches directly for binaries in your path, rather than usingnix run
, giving a significant speed boost.
- Updated
dapp
andhevm
-
New commands:
seth source <address>
fetches the contract source from etherscanseth bundle-source <address>
fetches contract source and compiles to combined jsonseth run-tx <tx-hash> [--debug, --source <file>, --state <repository>]
, set hevm options according to the options given andhevm exec
seth debug <tx-hash> [--no-src]
downloads etherscan source, executes previous txs in block and enters into an hevm interactive session for the given tx.--no-src
skips the first step.seth --{max-uint,max-int,min-int}
print the largest numbers (in hex) of a given bitsizeseth call --hevm
executes a call via hevm, rather than the RPCseth call --debug
executes a call interactively via hevmseth --verbose
prints some seth debugging information to stderr
-
seth block
can now be passed the--full
option, which returns the full block. -
hexdata can be concatenated with
:
, e.g. '0xaa:0xbb' will be read as '0xaabb'.
seth --to-{hex,wei,word,address,dec,int256,ascii,fix,uint256}
andseth --from-{ascii,wei}
can now read values from stdin.seth call
now accepts empty calldata and also create transactions via--create
.seth --abi-function-json
no longer returns a singleton list, but rather the JSON object it contained.- Updated hevm to 0.41.0
hevm
is now a dependency of seth.seth calldata
now implemented using hevm instead ofether.js
, fixes several bugs.- Bytestring arguments to seth calldata must not be enclosed in double quotes.
seth {--to-uint256,--to-int256,--to-bytes32}
now returns hex string with0x
prefix.- Removed ethabi dependency in favor of (already present)
ethers.js
. 0x
prefix is strictly required for bytestrings while usingseth calldata
.- When giving array arguments to
seth calldata
, each bytestring must be enclosed in double quotes.
seth --calldata-decode
command #338
- ABI JSON blob creation would fail for some solc reference types, e.g.
bytes memory
, since solc 0.5.0. solc was removed as a dependency and replaced with ethers.js.
0.8.2 - 2019-05-23
- Regression in
seth send
whenETH_RPC_ACCOUNTS
was set
0.8.1 - 2019-05-7
seth call
,seth send
andseth estimate
were broken due to an update in 0.8.0, which has been reverted
0.8.0 - 2019-05-02
- Support for
goerli
andkotti
testnets
seth logs-etherscan
now correctly handles its fourth optional argument, theilk
0.7.0 - 2018-12-14
From this release on, changes, additions and removals will be documented in this changelog.
seth abi
: use the currentsolc
version in thepragma
directive. #99