halmos
halmos copied to clipboard
A symbolic testing tool for EVM smart contracts
## Change Type - [ ] Bug fix (Not Breaking-change. Solve issue.) - [x] New feature (Not Breaking-change. Add new feature.) - [ ] Breaking change (Bug fix or New...
Example here with Certora: https://github.com/Cyfrin/3-gas-bad-nft-marketplace-audit/blob/main/certora/spec/GasBadNft.spec
`halmos` does currently not support the new EVM version `cancun` (example `MCOPY`): ```console ↩ 0x5e 0x (error: HalmosException('Unsupported opcode 0x5e')) ``` In order to formally verify properties given this new...
https://x.com/daejunpark/status/1789480206320939296 When I googled these on stream, I got no results. It would be great to place these FAQs in either: 1. In an `FAQ` section 2. A bunch of...
**Describe the bug** `--early-exit` is supposed to print the first counterexample found and stop halmos, but we can actually still have multiple counterexamples reported **To Reproduce** ``` // SPDX-License-Identifier: MIT...
## Problem Halmos is essentially a light EVM interpreter (without gas), and because we're in the business of looking for corner cases of EVM bytecode, it is actually mission critical...
support multiple array lengths at once, e.g., (syntax to be decided), `halmos --array-lengths x={1,2,3}` this should be equivalent to running halmos multiple times for each length value: ``` halmos --array-lengths...
Description TBD
**Is your feature request related to a problem? Please describe.** Newer versions of vyper use jumptable-based dispatchers. We don't currently handle them very gracefully because of the mod operation. For...