Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Recon-Fuzz/chimera
Smart Contract Property-Based Testing Framework
https://github.com/Recon-Fuzz/chimera
echidna foundry fuzzer halmos medusa smart-contracts
Last synced: about 9 hours ago
JSON representation
Smart Contract Property-Based Testing Framework
- Host: GitHub
- URL: https://github.com/Recon-Fuzz/chimera
- Owner: Recon-Fuzz
- Created: 2023-11-06T15:21:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-10T12:24:20.000Z (1 day ago)
- Last Synced: 2025-02-10T13:28:36.435Z (1 day ago)
- Topics: echidna, foundry, fuzzer, halmos, medusa, smart-contracts
- Language: Solidity
- Homepage:
- Size: 39.1 KB
- Stars: 93
- Watchers: 2
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- evm-fuzzing-resources - Chimera - Smart Contract Property-Based Testing Framework, by [Recon](https://x.com/getreconxyz) (Tooling / Libraries & Frameworks)
- evm-fuzzing-resources - Chimera - Smart Contract Property-Based Testing Framework, by [Recon](https://x.com/getreconxyz) (Tooling / Libraries & Frameworks)
README
## Chimera
Chimera is a smart contract property-based testing framework. Write once, run everywhere.
```bash
forge install Recon-Fuzz/chimera
```### Motivation
When writing property-based tests, developers commonly face several issues:
- the amount of boilerplate code required
- the challenge of switching tools after the initial setup
- the difficulty in sharing results between different toolsWriting invariant tests that work seamlessly with Foundry, Echidna, Medusa, and Halmos is not straightforward.
Chimera addresses this problem by enabling a "write once, run everywhere" approach.
### Limitations
Chimera currently only supports cheatcodes implemented by [HEVM](https://hevm.dev/std-test-tutorial.html#supported-cheat-codes).
Foundry has extended these and offers functionality not supported by the HEVM cheatcodes, subsequently these must be accounted for when adding Chimera to a Foundry project as they will cause issues when running Echidna and Medusa. If adding Chimera to an existing Foundry project ensure that there are no cheatcodes implemented that aren't supported by HEVM as they will throw the following error: `VM failed for unhandled reason, BadCheatCode `.
While **medusa** supports `etch`, echidna does not support it yet. Please note when using `etch` in an echidna environment it will not work as expected.
### Features
- [x] Boilerplate contracts for Foundry, Echidna, Medusa, Halmos and Kontrol tests