Bot releases are visible (Hide)
Published by github-actions[bot] almost 4 years ago
dapp test --match
now matches on file path and contract name, asdapp --use
searches directly for binaries in your path, rather thannix run
, giving a significant speed boost.Published by github-actions[bot] almost 4 years ago
0.42.0
- 2020-10-31coinbase
, timestamp
, difficulty
, blocknumber
when rpc is providedhevm exec
, hevm symbolic
and hevm dapp-test
.P
and c-p
for taking larger steps backwards in the debuger.--cache
flag for dapp-test
, exec
, symbolic
, interactive
,load(address,bytes32)
cheat code allowing storage reads from arbitrary contracts.0.30.0
- 2020-10-31DAPP_SOLC=/path/to/bin
ordapp --use /path/to/solc ...
to use a custom solc.Published by github-actions[bot] about 4 years ago
hevm-0.41.0
0.41.0
(MAJOR.MAJOR.MINOR).--smttimeout
changed from unlimited to 20 secondshevm symbolic --debug
now respects --max-iterations
hevm exec --trace
flag to dump a tracedapp-0.29.0
DAPP_BUILD_EXTRACT=1 dapp test
seth-0.9.1
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>]
,hevm 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 stderrseth 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--create
.seth --abi-function-json
no longer returns a singleton list, but rather the JSON object it contained.Published by github-actions[bot] about 4 years ago
This release makes hevm capable of symbolic execution, and exposes the new hevm symbolic
or hevm equivalence
.
For more details, check out the announcing post https://fv.ethereum.org/2020/07/28/symbolic-hevm-release/ or consult the README for usage options.
Install as always using nix. Check out installation instructions or in brief:
curl -L https://nixos.org/nix/install | sh
. "$HOME/.nix-profile/etc/profile.d/nix.sh"
curl https://dapp.tools/install | sh
Full changelog:
As a result, the types of several registers of the EVM have changed to admit symbolic values as well as concrete ones.
state.stack: Word
-> SymWord
.
state.memory: ByteString
-> [SWord 8]
.
state.callvalue: W256
-> SymWord
.
state.caller: Addr
-> SAddr
.
state.returndata: ByteString
-> [SWord 8]
.
state.calldata: ByteString
-> ([SWord 8], (SWord 32))
. The first element is a list of symbolic bytes, the second is the length of calldata. We have fst calldata !! i .== 0
for all snd calldata < i
.
tx.value: W256
-> SymWord
.
contract.storage: Map Word Word
-> Storage
, defined as:
data Storage
= Concrete (Map Word SymWord)
| Symbolic (SArray (WordN 256) (WordN 256))
deriving (Show)
New cli commands:
hevm symbolic
: search for assertion violations, or step through a symbolic execution in debug mode.hevm equivalence
: compare two programs for equivalence.See the README for details on usage.
The new module EVM.SymExec
exposes several library functions dealing with symbolic execution.
In particular,
SymExec.interpret
: implements an operational monad script similar to TTY.interpret
and Stepper.interpret
, but returns a list of final VM states rather than a single VM.SymExec.verify
: takes a prestate and a postcondition, symbolically executes the prestate and checks that all final states matches the postcondition.The concrete versions of a lot of arithmetic operations, replaced with their more general symbolic counterpart.
Published by github-actions[bot] over 4 years ago
Published by github-actions[bot] over 4 years ago
Published by asymmetric over 4 years ago