-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: celo router deployment * feat updating lint * feat: deploy base router * feat: add mint functionality * fix: lint * fix: tests for the setup * fix: failing tests * fix: tests * fix: tests
- Loading branch information
Showing
46 changed files
with
4,005 additions
and
1,170 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: Setup repo | ||
description: Runs all steps to setup the repo (install node_modules, build, etc...) | ||
inputs: | ||
registry-token: | ||
description: 'PAT to access registries' | ||
runs: | ||
using: 'composite' | ||
steps: | ||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
shell: bash | ||
run: | | ||
echo "::set-output name=dir::$(yarn cache dir)" | ||
echo "::set-output name=version::$(yarn -v)" | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' | ||
|
||
- uses: actions/cache@v2 | ||
id: yarn-cache | ||
with: | ||
path: | | ||
**/node_modules | ||
${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-yarn- | ||
- name: Install dependencies | ||
shell: bash | ||
run: echo "//npm.pkg.github.com/:_authToken=$GH_REGISTRY_ACCESS_TOKEN" >> .npmrc && yarn install --frozen-lockfile --verbose && rm -f .npmrc | ||
env: | ||
GH_REGISTRY_ACCESS_TOKEN: ${{ inputs.registry-token }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,105 +1,158 @@ | ||
name: CI | ||
name: 'CI' | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
inputs: | ||
workflow_to_run: | ||
type: choice | ||
description: Which workflow to run? | ||
required: true | ||
options: | ||
- all | ||
- hardhat-tests | ||
- foundry-tests | ||
pull_request: | ||
types: | ||
- ready_for_review | ||
- review_requested | ||
pull_request_review: | ||
types: [submitted] | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
push: | ||
branches: | ||
- 'main' | ||
|
||
jobs: | ||
run-linters: | ||
if: github.ref == 'refs/heads/main' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 14 | ||
- uses: actions/cache@v2 | ||
node-version: 18 | ||
cache: 'yarn' | ||
|
||
- name: Setup repo | ||
uses: ./.github/actions/setup-repo | ||
with: | ||
path: node_modules | ||
key: yarn-${{ hashFiles('yarn.lock') }} | ||
restore-keys: yarn- | ||
registry-token: ${{ secrets.GH_REGISTRY_ACCESS_TOKEN }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
npm config set //registry.npmjs.org/ | ||
yarn install --frozen-lockfile | ||
run: yarn install | ||
|
||
- name: Run solhint | ||
run: yarn lint:sol | ||
- name: Run eslint | ||
run: yarn lint:js:fix | ||
run: yarn lint:check | ||
|
||
hardhat-tests: | ||
if: github.ref == 'refs/heads/main' || github.event.inputs.workflow_to_run == 'all' || github.event.inputs.workflow_to_run == 'hardhat-tests' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' | ||
- name: 'Add lint summary' | ||
run: | | ||
echo "## Lint result" >> $GITHUB_STEP_SUMMARY | ||
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 14 | ||
- uses: actions/cache@v2 | ||
node-version: 18 | ||
cache: 'yarn' | ||
|
||
- name: Setup repo | ||
uses: ./.github/actions/setup-repo | ||
with: | ||
path: node_modules | ||
key: yarn-${{ hashFiles('yarn.lock') }} | ||
restore-keys: yarn- | ||
registry-token: ${{ secrets.GH_REGISTRY_ACCESS_TOKEN }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
npm config set //registry.npmjs.org/ | ||
yarn install --frozen-lockfile | ||
- name: Compile | ||
run: yarn install --frozen-lockfile | ||
|
||
- name: Compile hardhat | ||
run: yarn hardhat:compile | ||
|
||
- name: Install Foundry | ||
uses: foundry-rs/foundry-toolchain@v1 | ||
with: | ||
version: nightly | ||
|
||
- name: Compile foundry | ||
run: yarn foundry:compile --sizes | ||
|
||
- name: 'Cache the build so that it can be re-used by the other jobs' | ||
uses: 'actions/cache/save@v3' | ||
with: | ||
key: 'build-${{ github.sha }}' | ||
path: | | ||
cache-forge | ||
out | ||
cache-hh | ||
artifacts | ||
typechain | ||
node_modules | ||
- name: 'Add build summary' | ||
run: | | ||
echo "## Build result" >> $GITHUB_STEP_SUMMARY | ||
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY | ||
hardhat-tests: | ||
needs: ['build', 'lint'] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 18 | ||
cache: 'yarn' | ||
|
||
- name: 'Restore the cached build' | ||
uses: 'actions/cache/restore@v3' | ||
with: | ||
fail-on-cache-miss: true | ||
key: 'build-${{ github.sha }}' | ||
path: | | ||
cache-forge | ||
out | ||
cache-hh | ||
artifacts | ||
typechain | ||
node_modules | ||
- run: export NODE_OPTIONS=--max_old_space_size=11264 | ||
- name: Run unit tests | ||
run: yarn hardhat:test | ||
env: | ||
ENABLE_GAS_REPORT: true | ||
CI: true | ||
ETH_NODE_URI_FORKPOLYGON: ${{secrets.ETH_NODE_URI_FORKPOLYGON}} | ||
ETH_NODE_URI_OPTIMISM: ${{secrets.ETH_NODE_URI_OPTIMISM}} | ||
ETH_NODE_URI_AVALANCHE: ${{secrets.ETH_NODE_URI_AVALANCHE}} | ||
ETH_NODE_URI_ARBITRUM: ${{secrets.ETH_NODE_URI_ARBITRUM}} | ||
ETH_NODE_URI_MAINNET: ${{secrets.ETH_NODE_URI_MAINNET}} | ||
ETH_NODE_URI_POLYGON: ${{ secrets.ETH_NODE_URI_POLYGON }} | ||
ETH_NODE_URI_FORK: ${{ secrets.ETH_NODE_URI_FORK }} | ||
ETH_NODE_URI_MAINNET: ${{ secrets.ETH_NODE_URI_MAINNET }} | ||
|
||
- name: 'Add test summary' | ||
run: | | ||
echo "## Hardhat Unit tests result" >> $GITHUB_STEP_SUMMARY | ||
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY | ||
foundry-tests: | ||
if: github.ref == 'refs/heads/main' || github.event.inputs.workflow_to_run == 'all' || github.event.inputs.workflow_to_run == 'foundry-tests' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' | ||
needs: ['build', 'lint'] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: 14 | ||
- uses: actions/cache@v2 | ||
with: | ||
path: node_modules | ||
key: yarn-${{ hashFiles('yarn.lock') }} | ||
restore-keys: yarn- | ||
- run: yarn install --frozen-lockfile | ||
submodules: 'recursive' | ||
|
||
- name: Install Foundry | ||
uses: foundry-rs/foundry-toolchain@v1 | ||
with: | ||
version: nightly | ||
|
||
- name: 'Restore the cached build' | ||
uses: 'actions/cache/restore@v3' | ||
with: | ||
fail-on-cache-miss: true | ||
key: 'build-${{ github.sha }}' | ||
path: | | ||
cache-forge | ||
out | ||
cache-hh | ||
artifacts | ||
typechain | ||
node_modules | ||
- name: Run Foundry tests | ||
run: yarn foundry:test | ||
env: | ||
ETH_NODE_URI_MAINNET: ${{ secrets.ETH_NODE_URI_MAINNET }} | ||
ETH_NODE_URI_POLYGON: ${{ secrets.ETH_NODE_URI_POLYGON }} | ||
ETH_NODE_URI_GOERLI: ${{ secrets.ETH_NODE_URI_GOERLI }} | ||
ETH_NODE_URI_FANTOM: ${{ secrets.ETH_NODE_URI_FANTOM }} | ||
FOUNDRY_FUZZ_RUNS: '5000' | ||
|
||
- name: 'Add test summary' | ||
run: | | ||
echo "## Foundry Unit tests result" >> $GITHUB_STEP_SUMMARY | ||
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
@angleprotocol:registry=https://npm.pkg.github.com |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
lib | ||
artifacts | ||
node_modules | ||
cache-forge | ||
cache-hh | ||
export | ||
out | ||
typechain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,21 @@ | ||
contracts/interfaces/external/**/*.sol | ||
contracts/mock/*.sol | ||
contracts/mock/*.sol | ||
|
||
# Doesn't need to lint dev files | ||
lib | ||
scripts | ||
test | ||
mock | ||
deprecated | ||
|
||
# Doesn't need to lint build files | ||
artifacts | ||
node_modules | ||
cache-forge | ||
cache-hh | ||
export | ||
out | ||
typechain | ||
|
||
# Doesn't need to lint utils files | ||
external |
Oops, something went wrong.