verifyGovernor.sh 1.4 KB

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