• Stars
    star
    153
  • Rank 243,303 (Top 5 %)
  • Language
    Solidity
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Invariant Examples

Foundry

Overview

This repository functions as an accessible example for Foundry developers to experiment and learn about invariant testing.

This repository is a work in progress, and will be updated continuously. Issues with suggestions are encouraged!

Setup

This project was built using Foundry. Refer to installation instructions here.

git clone [email protected]:lucas-manuel/invariant-example.git
cd invariant-example
forge install

Running Tests

Foundry considers all functions that start with invariant_ to be invariant tests. To run them, you can use the following commands:

  • To run open invariant tests: make open-invariant
  • To run bounded invariant tests: make bounded-invariant
  • To run unbounded invariant tests: make unbounded-invariant

Call Summaries

invariant_call_summary functions are not invariants, they are used to illustrate how the probability distribution of function calls within a given invariant test works.