verifyAll.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env bash
  2. set -euxo pipefail
  3. for contract in certora/harnesses/Wizard*.sol;
  4. do
  5. # NOTE: some spec files are not governor related, and should be run on Wizard*.sol
  6. for spec in certora/specs/*.spec;
  7. do
  8. contractFile=$(basename $contract)
  9. specFile=$(basename $spec)
  10. if [[ "${specFile%.*}" != "RulesInProgress" ]];
  11. then
  12. echo "Processing ${contractFile%.*} with $specFile"
  13. if [[ "${contractFile%.*}" = *"WizardControl"* ]];
  14. then
  15. certoraRun \
  16. certora/harnesses/ERC20VotesHarness.sol certora/harnesses/$contractFile \
  17. --link ${contractFile%.*}:token=ERC20VotesHarness \
  18. --verify ${contractFile%.*}:certora/specs/$specFile "$@" \
  19. --solc solc \
  20. --optimistic_loop \
  21. --disableLocalTypeChecking \
  22. --settings -copyLoopUnroll=4 \
  23. --msg "checking $specFile on ${contractFile%.*}"
  24. else
  25. certoraRun \
  26. certora/harnesses/ERC20VotesHarness.sol certora/harnesses/$contractFile \
  27. --verify ${contractFile%.*}:certora/specs/$specFile "$@" \
  28. --solc solc \
  29. --optimistic_loop \
  30. --disableLocalTypeChecking \
  31. --settings -copyLoopUnroll=4 \
  32. --msg "checking $specFile on ${contractFile%.*}"
  33. fi
  34. fi
  35. done
  36. done