Skip to main content

assert_invariants

Function assert_invariants 

Source
pub(crate) fn assert_invariants<'a, FEN: FoundryEvmNetwork>(
    invariant_contract: &InvariantContract<'a>,
    invariant_config: &InvariantConfig,
    targeted_contracts: &FuzzRunIdentifiedContracts,
    executor: &Executor<FEN>,
    calldata: &[BasicTxDetails],
    invariant_failures: &mut InvariantFailures,
) -> Result<Option<&'a Function>>
Expand description

Given the executor state, asserts that no invariant has been broken. Otherwise, it fills the external invariant_failures.failed_invariant map.

Returns the first newly-broken invariant in declaration order (if any), so callers can attribute the failure event without re-scanning invariant_failures.errors afterwards.