From f242abbf939b4bc23fb9fe598f39ab8215b2e5c5 Mon Sep 17 00:00:00 2001 From: Michael George Date: Mon, 11 Apr 2022 16:35:47 -0400 Subject: [PATCH 1/3] starting CI integration --- .github/workflows/verify.yml | 57 +++++++++++++++++++++++++++++++ .gitignore | 1 + certora/scripts/verifyAllSasha.sh | 5 --- 3 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/verify.yml delete mode 100644 certora/scripts/verifyAllSasha.sh diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml new file mode 100644 index 000000000..6919609d0 --- /dev/null +++ b/.github/workflows/verify.yml @@ -0,0 +1,57 @@ +name: Certora + +on: + push: + branches: + - main + - certora/erc20 + +jobs: + verify: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install python + uses: actions/setup-python@v2 + with: { python-version: 3.6, cache: 'pip' } + + - name: Install java + uses: actions/setup-java@v1 + with: { java-version: "11", java-package: jre } + + - name: Install certora + run: pip install certora-cli + + - name: Install solc + run: | + wget https://github.com/ethereum/solidity/releases/download/v0.8.2/solc-static-linux + chmod +x solc-static-linux + sudo mv solc-static-linux /usr/local/bin/solc8.2 + + - name: Verify rule ${{ matrix.script }} + run: | + touch certora/applyHarness.patch + make -C certora munged + echo "key length" ${#CERTORAKEY} + sh certora/scripts/${{ matrix.script }} + env: + CERTORAKEY: ${{ secrets.CERTORAKEY }} + + strategy: + fail-fast: false + max-parallel: 4 + + matrix: + script: + - verifyTimelock.sh + - verifyERC1155.sh + - verifyERC20FlashMint.sh + - verifyERC20Wrapper.sh + - verifyAccessControl.sh + - verifyERC20Votes.sh "checking ERC20Votes.spec on ERC20Votes.sol" + - verifyERC721Votes.sh "checking ERC721Votes.spec on draft-ERC721Votes.sol and Votes.sol" + + + diff --git a/.gitignore b/.gitignore index c60c5d945..18817cd29 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ artifacts .certora* .last_confs certora_* +resource_errors.json diff --git a/certora/scripts/verifyAllSasha.sh b/certora/scripts/verifyAllSasha.sh deleted file mode 100644 index e87893bf9..000000000 --- a/certora/scripts/verifyAllSasha.sh +++ /dev/null @@ -1,5 +0,0 @@ -sh certora/scripts/verifyTimelock.sh -sh certora/scripts/verifyERC1155.sh -sh certora/scripts/verifyERC20FlashMint.sh -sh certora/scripts/verifyERC20Wrapper.sh -sh certora/scripts/verifyAccessControl.sh From f15308f7633267bb4c8aea6451a09ae559339c76 Mon Sep 17 00:00:00 2001 From: Michael George Date: Mon, 11 Apr 2022 16:37:21 -0400 Subject: [PATCH 2/3] added python requirements file --- requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..3373e34c4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +certora-cli==3.0.0 From 8fc90f67797aa653cb570dfdc1d1a41a5902fa7d Mon Sep 17 00:00:00 2001 From: Michael George Date: Mon, 11 Apr 2022 16:55:54 -0400 Subject: [PATCH 3/3] fix in script --- certora/scripts/verifyERC721Votes.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/certora/scripts/verifyERC721Votes.sh b/certora/scripts/verifyERC721Votes.sh index 2f089b1c2..e2a7320f9 100644 --- a/certora/scripts/verifyERC721Votes.sh +++ b/certora/scripts/verifyERC721Votes.sh @@ -23,4 +23,4 @@ certoraRun \ --settings -copyLoopUnroll=4 \ --send_only \ --staging "alex/new-dt-hashing-alpha" \ - --msg "${msg}" \ \ No newline at end of file + --msg "${msg}"