Skip to content

Commit d033396

Browse files
authored
Initial commit
0 parents  commit d033396

32 files changed

+2030
-0
lines changed

.env.example

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
RPC_URL=
2+
PRIVATE_KEY=
3+
ETHERSCAN_API_KEY=""
4+
5+
## OSx Protocol
6+
PLUGIN_REPO_FACTORY=
7+
DAO_FACTORY=
8+

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
lib/** linguist-vendored

.github/workflows/lint-format.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Lint and Format
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [main]
7+
8+
jobs:
9+
lint-and-format:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v2
14+
15+
- name: Use Node.js
16+
uses: actions/setup-node@v2
17+
with:
18+
node-version: '18'
19+
20+
- name: Install pnpm
21+
run: npm install -g pnpm
22+
23+
- name: Install dependencies
24+
run: pnpm install
25+
26+
- name: Run lint
27+
run: pnpm run lint

.github/workflows/test.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: test
2+
3+
on: workflow_dispatch
4+
5+
env:
6+
FOUNDRY_PROFILE: ci
7+
8+
jobs:
9+
check:
10+
strategy:
11+
fail-fast: true
12+
13+
name: Foundry project
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
submodules: recursive
19+
20+
- name: Install Foundry
21+
uses: foundry-rs/foundry-toolchain@v1
22+
23+
- name: Run Forge build
24+
run: |
25+
forge --version
26+
forge build --sizes
27+
id: build
28+
29+
- name: Run Forge tests
30+
run: |
31+
forge test -vvv
32+
id: test

.gitignore

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# directories
2+
cache
3+
coverage
4+
node_modules
5+
out
6+
7+
# files
8+
*.env
9+
*.log
10+
.DS_Store
11+
.pnp.*
12+
lcov.info
13+
yarn.lock
14+
15+
# broadcasts
16+
!broadcast
17+
broadcast/*
18+
broadcast/*/31337/

.gitmodules

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[submodule "lib/forge-std"]
2+
branch = "v1"
3+
path = "lib/forge-std"
4+
url = "https://github.com/foundry-rs/forge-std"
5+
[submodule "lib/prb-test"]
6+
branch = "release-v0"
7+
path = lib/prb-test
8+
url = https://github.com/PaulRBerg/prb-test
9+
[submodule "lib/openzeppelin-contracts"]
10+
path = lib/openzeppelin-contracts
11+
url = https://github.com/OpenZeppelin/openzeppelin-contracts
12+
[submodule "lib/osx"]
13+
path = lib/osx
14+
url = https://github.com/aragon/osx
15+
[submodule "lib/openzeppelin-contracts-upgradeable"]
16+
branch = "release-v4.9"
17+
path = lib/openzeppelin-contracts-upgradeable
18+
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
19+
[submodule "lib/ens-contracts"]
20+
path = lib/ens-contracts
21+
url = https://github.com/ensdomains/ens-contracts

.prettierignore

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# directories
2+
broadcast
3+
cache
4+
coverage
5+
lib
6+
node_modules
7+
out
8+
9+
# files
10+
*.env
11+
*.log
12+
.DS_Store
13+
.pnp.*
14+
lcov.info
15+
package-lock.json
16+
pnpm-lock.yaml
17+
yarn.lock

.prettierrc.yml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
bracketSpacing: false
2+
singleQuote: true
3+
arrowParens: avoid
4+
5+
overrides:
6+
- files: '*.sol'
7+
options:
8+
printWidth: 100
9+
tabWidth: 4
10+
useTabs: false
11+
singleQuote: false
12+
- files: '*.md'
13+
options:
14+
printWidth: 100
15+
tabWidth: 2
16+
useTabs: false
17+
singleQuote: true

.solhint.json

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"extends": "solhint:recommended",
3+
"rules": {
4+
"code-complexity": ["error", 8],
5+
"compiler-version": ["error", ">=0.8.17"],
6+
"func-name-mixedcase": "off",
7+
"func-visibility": ["error", {"ignoreConstructors": true}],
8+
"max-line-length": ["error", 120],
9+
"named-parameters-mapping": "off",
10+
"no-console": "off",
11+
"not-rely-on-time": "off",
12+
"one-contract-per-file": "off"
13+
}
14+
}

.vscode/extentions.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"recommendations": [
3+
"esbenp.prettier-vscode",
4+
"NomicFoundation.hardhat-solidity",
5+
"KnisterPeter.vscode-commitizen",
6+
"tintinweb.solidity-visual-auditor"
7+
]
8+
}

.vscode/settings.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"editor.defaultFormatter": "esbenp.prettier-vscode",
3+
"editor.formatOnSave": true,
4+
"prettier.documentSelectors": ["**/*.sol"],
5+
"solidity.formatter": "prettier",
6+
"editor.tabSize": 4,
7+
"[json]": {
8+
"editor.defaultFormatter": "esbenp.prettier-vscode"
9+
},
10+
"[solidity]": {
11+
"editor.defaultFormatter": "NomicFoundation.hardhat-solidity"
12+
}
13+
}

0 commit comments

Comments
 (0)