v0.1.14
What's Changed
halmos.toml configuration
- feat: enhance configuration management by using toml configuration file by @pillip in #296
- feat: toml config, take 2 by @karmacoma-eth in #298
- docs: example halmos.toml by @karmacoma-eth in #299
Docker images
- feat: use docker image to load solvers and setup the testing environment by @EmperorOrokuSaki in #295
- feat: solvers package by @karmacoma-eth in #302
- ci: run workflow using
solvers
as a base image by @karmacoma-eth in #307 - ci: add intermediary halmos-builder image and dockerize more workflows by @karmacoma-eth in #308
Cheatcode/opcode support
- feat: support for forge-std assert cheatcodes by @daejunpark and @EmperorOrokuSaki in #323
- feat: support vm.getBlockNumber cheatcode by @pillip in #325
- feat: functional implementation of EXTCODEHASH and EXTCODECOPY by @karmacoma-eth in #328
- feat: add support for prank(sender, origin) and startPrank(sender, origin) cheatcodes by @karmacoma-eth in #336
UX improvements
- feat: parse symbols from build to print readable traces by @pillip in #309
- feat: trace rendering: extract selector from calldata by @karmacoma-eth in #339
- feat: add ERC-1155 token receiver hooks as defaults in unknown call resolution by @pcaversaccio in #291
- fix: handle solidity files with no contracts by @karmacoma-eth in #333
- fix: simplify symbol parsing by @karmacoma-eth in #334
- cli: deprecated --solver-parallel by @daejunpark in #314
Performance improvements
- perf: chunk based memory model by @karmacoma-eth in #288
- perf: optimize execution loop by @karmacoma-eth in #293
- feat: cache unsat queries using unsat core by @daejunpark in #311
- perf: prune infeasible paths early by @daejunpark in #319
- perf: early exit for fail() by @daejunpark in #322
- perf: abstract multiplication by @daejunpark in #340
Bugfixes
- fix: smt encoding for evm div-by-zero by @daejunpark in #271
- fix: use --ast to enable foundry build cache by @daejunpark in #289
- fix: add Missing Error Code in
parse_build_out
Warning by @pcaversaccio in #300 - fix bad abi encoding in createBytes4 by @karmacoma-eth in #329
- fix: parsing unsat core output variants by @daejunpark in #337
New Contributors
- @pcaversaccio made their first contribution in #291
- @EmperorOrokuSaki made their first contribution in #295
- @pillip made their first contribution in #296
Full Changelog: v0.1.13...v0.1.14