Modules§
- IInvariant
Test - Module containing a contract’s types and functions.
- corpus 🔒
- error 🔒
- replay 🔒
- result 🔒
- shrink 🔒
Structs§
- Invariant
Executor - Wrapper around any
Executor
implementer which provides fuzzing support using [proptest
]. - Invariant
Failures - Stores information about failures and reverts of the invariant tests.
- Invariant
Fuzz Test Result - The outcome of an invariant fuzz test
- Invariant
Metrics - Contains invariant metrics for a single fuzzed selector.
- Invariant
Test - Contains invariant test data.
- Invariant
Test Data - Contains data collected during invariant test runs.
- Invariant
Test Run - Contains data for an invariant test run.
Enums§
Constants§
Functions§
- call_
after_ 🔒invariant_ function - Calls the
afterInvariant()
function on a contract. Returns call result and if call succeeded. The state after the call is not persisted. - call_
invariant_ 🔒function - Calls the invariant function and returns call result and if succeeded.
- check_
sequence - Checks if the given call sequence breaks the invariant.
- collect_
data 🔒 - Collects data from call for fuzzing. However, it first verifies that the sender is not an EOA before inserting it into the dictionary. Otherwise, we flood the dictionary with randomly generated addresses.
- replay_
error - Replays the error case, shrinks the failing sequence and collects all necessary traces.
- replay_
run - Replays a call sequence for collecting logs and traces. Returns counterexample to be used when the call sequence is a failed scenario.