This repo is built for a talk I am giving at EthDenver 2024 to explain what invariant fuzz testing is and show how to use it with Foundry.
I am an independent security research who works with clients through invariant test engineering, security reviews and protocol/technical advising.
Formerly, I was a (pre-endgame) Senior Protocol Engineer with MakerDAO, a Maker Foundation Smart Contract Engineer (securing and launching MCD), and a Backend and Smart Contract Engineer with ConsenSys.
I can be found on the internet occassionally on Twitter, LinkedIn, at my business website and, of course, here on GitHub.
Note: All code in this repo is for demonstration purposes only
DAI code has been updated slighlty to be compatible with Solidity 0.8 and Foundry.
main
: Initial Repo setup1-invariant-setup
: Setting up basic invariant testing infrastructure2-handler-setup
: Setting up the functionality of the Handler3-add-balance-invariant
: Adding our first real invariant