Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

Commit

Permalink
Merge branch 'dev' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
benceharomi authored Nov 7, 2023
2 parents a08b7a1 + 5227006 commit ac488c1
Show file tree
Hide file tree
Showing 126 changed files with 16,383 additions and 4,957 deletions.
12 changes: 12 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"extends": ["@matterlabs/eslint-config-typescript"],
"rules": {
"no-multiple-empty-lines": ["error", { "max": 1 }],
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/ban-ts-comment": "off",
"import/no-named-as-default-member": "off",
"import/namespace": "off",
"import/no-unresolved": "off",
"import/order": "off"
}
}
16 changes: 16 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

CYAN='\033[0;36m'
NC='\033[0m' # No Color
RED='\033[0;31m'

# Check that the code is formatted in the given directory provided in the first argument
function check_prettier {
if ! yarn prettier:check; then
echo "${RED}Commit error! Cannot commit unformatted code!${NC}"
echo "Prettier errors found. Please format the code via ${CYAN}yarn prettier:fix${NC}!"
exit 1
fi
}

check_prettier
16 changes: 16 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

CYAN='\033[0;36m'
NC='\033[0m' # No Color
RED='\033[0;31m'

# Checking that the code is linted and formatted in the given directory provided in the first argument
function check_lint {
if ! yarn lint:check; then
echo "${RED}Push error! Cannot push unlinted code!${NC}"
echo "Lint errors found. Please lint the code via ${CYAN}yarn lint:fix${NC} and/or fix the errors manually!"
exit 1
fi
}

check_lint
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: Scripts-Related Bug Report
about: Use this template for reporting script related bugs. For contract bugs, see our security policy.
title: ''
title: ""
labels: bug
assignees: ''
assignees: ""
---

### 🐛 Script Bug Report
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: Feature request
about: Use this template for requesting features
title: ''
title: ""
labels: feat
assignees: ''
assignees: ""
---

### 🌟 Feature Request
Expand Down
1 change: 0 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@
- [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zk fmt` and `zk lint`.
163 changes: 163 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
name: "CI"

on:
pull_request:
push:
branches:
- dev
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn

- name: Install dependencies
run: yarn

- name: Build artifacts
run: yarn build

- name: Create cache
uses: actions/cache/save@v3
with:
key: artifacts-${{ github.sha }}
path: |
artifacts-zk
cache-zk
typechain-types
contracts/artifacts
contracts/precompiles/artifacts
bootloader/build
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn

- name: Install dependencies
run: yarn

- name: Run lint
run: yarn lint:check

check_hashes:
needs: [build]
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn

- name: Install dependencies
run: yarn

- name: Restore artifacts cache
uses: actions/cache/restore@v3
with:
fail-on-cache-miss: true
key: artifacts-${{ github.sha }}
path: |
artifacts-zk
cache-zk
typechain-types
contracts/artifacts
contracts/precompiles/artifacts
bootloader/build
- name: Check hashes
run: yarn calculate-hashes:check

test:
needs: [build, lint]
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn

- name: Use era-test-node for testing
uses: dutterbutter/era-test-node-action@v0.1.3
with:
releaseTag: v0.0.1-alpha.boojum

- name: Install dependencies
run: yarn

- name: Restore artifacts cache
uses: actions/cache/restore@v3
with:
fail-on-cache-miss: true
key: artifacts-${{ github.sha }}
path: |
artifacts-zk
cache-zk
typechain-types
contracts/artifacts
contracts/precompiles/artifacts
bootloader/build
- name: Run tests
run: yarn test

- name: Print output logs of era_test_node
if: always()
run: cat era_test_node.log

test_bootloader:
needs: [build, lint]
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v3

- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2023-04-17

- name: Restore artifacts cache
uses: actions/cache/restore@v3
with:
fail-on-cache-miss: true
key: artifacts-${{ github.sha }}
path: |
artifacts-zk
cache-zk
typechain-types
contracts/artifacts
contracts/precompiles/artifacts
bootloader/build
- name: Run bootloader tests
run: "cd bootloader/test_infra && cargo run"
63 changes: 63 additions & 0 deletions .github/workflows/nodejs-license.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Node license check

on: pull_request

env:
ALLOWED_LICENSES: >
MIT;
BSD;
ISC;
Apache-2.0;
Apache 2.0;
MPL-2.0;
LGPL-3.0;
LGPL-3.0-or-later;
CC0-1.0;
CC-BY-3.0;
CC-BY-4.0;
Python-2.0;
PSF;
Public Domain;
WTFPL;
Unlicense;
# It has to be one line, there must be no space between packages.
EXCLUDE_PACKAGES: testrpc@0.0.1;uuid@2.0.1;

jobs:
generate-matrix:
name: Lists modules
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- run: |
DIRS=$(find -not \( -path \*node_modules -prune \) -type f -name yarn.lock | xargs dirname | awk -v RS='' -v OFS='","' 'NF { $1 = $1; print "\"" $0 "\"" }')
echo "matrix=[${DIRS}]" >> $GITHUB_OUTPUT
id: set-matrix
license-check:
needs: [generate-matrix]
runs-on: ubuntu-latest
strategy:
matrix:
dir: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- name: Checkout latest code
uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0

- name: Install yarn
run: npm install -g yarn license-checker

- name: Install dependencies in ${{ matrix.dir }}
working-directory: ${{ matrix.dir }}
run: yarn install

- name: Check licenses in ${{ matrix.dir }}
working-directory: ${{ matrix.dir }}
run: npx license-checker --json --onlyAllow="$ALLOWED_LICENSES" --excludePackages "$EXCLUDE_PACKAGES"
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,10 @@ typechain
build
yarn-debug.log*
yarn-error.log*

# Yarn files
.yarn/
.yarnrc.yml

.vscode
target/
1 change: 1 addition & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
9 changes: 9 additions & 0 deletions .markdownlintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"default": true,
"header-increment": false,
"no-duplicate-header": false,
"no-inline-html": false,
"line-length": false,
"fenced-code-language": false,
"no-multiple-blanks": false
}
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v18.18.0
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
contracts/openzeppelin
16 changes: 16 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module.exports = {
...require("@matterlabs/prettier-config"),
plugins: ["prettier-plugin-solidity"],
overrides: [
{
files: "*.sol",
options: {
bracketSpacing: false,
printWidth: 120,
singleQuote: false,
tabWidth: 4,
useTabs: false,
},
},
],
};
20 changes: 20 additions & 0 deletions .solhint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"extends": "solhint:recommended",
"rules": {
"state-visibility": "off",
"func-visibility": ["warn", { "ignoreConstructors": true }],
"var-name-mixedcase": "off",
"avoid-call-value": "off",
"no-empty-blocks": "off",
"not-rely-on-time": "off",
"avoid-low-level-calls": "off",
"no-inline-assembly": "off",
"const-name-snakecase": "off",
"no-complex-fallback": "off",
"reason-string": "off",
"func-name-mixedcase": "off",
"no-unused-vars": "off",
"max-states-count": "off",
"compiler-version": ["warn", "^0.8.0"]
}
}
1 change: 1 addition & 0 deletions .solhintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
contracts/openzeppelin
Loading

0 comments on commit ac488c1

Please sign in to comment.