building-secure-contracts icon indicating copy to clipboard operation
building-secure-contracts copied to clipboard

List real-world examples of Echidna/Manticore integration

Open montyly opened this issue 4 years ago • 4 comments

  • https://blog.trailofbits.com/2020/08/17/using-echidna-to-test-a-smart-contract-library/
  • https://github.com/search?q=%22function+echidna_%22&type=Code
  • Some of our public reports: https://github.com/trailofbits/publications

montyly avatar Aug 20 '20 08:08 montyly

echidna + manticore: https://github.com/tokencard/contracts/tree/master/tools

rmi7 avatar Dec 17 '20 18:12 rmi7

The blogpost on library testing was directly added in the list of advanced tutorials

montyly avatar Apr 06 '21 08:04 montyly

Echidna in CI

  • uniswap https://github.com/Uniswap/uniswap-lib/blob/c01640b0f0f1d8a85cba8de378cc48469fcfd9a6/.github/workflows/fuzz-testing.yml
  • akirpolisio: https://github.com/akropolisio/akropolis/blob/6d8e90b24275bef9cd879a7ab0f096b0c2d4a091/.github/workflows/security.yml#L60-L92
  • contracthsark: https://github.com/contractshark/echidna/blob/5358689ae99dac9ba4027f5f4d24f78cb0a6b6e0/echidna.action.yml#L9-L57
  • optimisim-dai: https://github.com/BellwoodStudios/optimism-dai-bridge/blob/c8b5f2de89b3e8beb5b75418890327bda3fad035/.github/workflows/ci.yml#L98-L144
  • maker-badges: https://github.com/naszam/maker-badges/blob/718e9c5fb749241a62dede7a128c75b20e787e13/.github/workflows/fuzz.yml

Echidna properties (without CI)

  • usffum: https://github.com/usmfum/USM/pull/41
  • monolith_contracts: https://github.com/bughunter0xff/monolith_contracts/blob/60709d65cc2178ca936920133610268aa4c30dc5/tools/echidna/controller/controller.sol
  • pooltogether: https://github.com/pooltogether/pooltogether-pool-contracts/blob/master/package.json#L38-L39
  • decimalmath: https://github.com/albertocuestacanada/DecimalMath/blob/4737ebc19234106a7792f6031fcde3dd79244228/package.json#L14
  • origin-dollar https://github.com/OriginProtocol/origin-dollar/blob/6e2b1738fe876aa8e7e6d38c23417383ed33b3ad/contracts/package.json#L22

Manticore in CI

  • tokencard: https://github.com/tokencard/contracts/blob/ea5d68f65ef81b8f3b7bb03b0511874931f67ea5/.circleci/config.yml#L232-L277

montyly avatar Apr 21 '21 13:04 montyly

@ggrieco-tob : some of these repo are not listed in https://github.com/crytic/echidna#property-testing-suites. Do we want to add them?

montyly avatar Dec 01 '22 10:12 montyly