Skip to content

Bump path-to-regexp from 1.8.0 to 1.9.0 #634

Bump path-to-regexp from 1.8.0 to 1.9.0

Bump path-to-regexp from 1.8.0 to 1.9.0 #634

name: Verify Smart Contracts
on:
push:
branches:
- main
- staging
- development
pull_request:
branches:
- main
- staging
- development
types:
- opened
- synchronize
env:
BSC_MAINNET_RPC_URL: ${{ vars.BSC_MAINNET_RPC_URL }}
SMART_CONTRACTS_LICENSE_TYPE: "GNU AGPLv3"
jobs:
lint:
name: Lint contracts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn --ignore-scripts
- name: Lint code
run: |-
cd packages/contracts
yarn solhint 'src/**/*.sol' -w 0
- name: Check license type
run: |-
cd packages/contracts
yarn lint:license
check-vulnerabilities:
name: Check vulnerabilities
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn --ignore-scripts
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73
- name: Check for vulnerabilities
working-directory: ./packages/contracts
run: |-
chmod +x slither.sh
./slither.sh .
cat slither-result.json
echo "Static analyzer check finished"
unit-test:
name: Unti Test Contracts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn --ignore-scripts
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73
# Need for hardhat scripts
- name: Link packages
run: yarn
- name: Run tests (foundry)
run: |-
cd packages/contracts
FOUNDRY_FUZZ_RUNS=1000 forge test -vvv --gas-report
integration-test:
name: Integration Test Contracts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn --ignore-scripts
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73
# Need for hardhat scripts
- name: Link packages
run: yarn
- name: Run tests
env:
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
run: |-
cd packages/contracts
USE_BSC_FORK=true yarn test:hardhat:bsc
deploy-test:
name: Integration Test Deploy Logic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn --ignore-scripts
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73
# Need for hardhat scripts
- name: Link packages
run: yarn
- name: Run tests
env:
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
run: |-
cd packages/contracts
yarn test:hardhat:deploy