Skip to content

Commit d16916e

Browse files
authored
style: enforce conventional commits, minor linting improvements (#21)
* style: enforce conventional commits, minor linting improvements imported a series of ideas from https://github.com/paulrberg/foundry-template including conventional commits, more detailed configuration for fuzzing runs and adding solhint * build((lint-staged)): upgrade to latest version * style: make constant names SNAKE_CASE * chore: clean and update gas snapshot
1 parent b718855 commit d16916e

File tree

18 files changed

+2415
-160
lines changed

18 files changed

+2415
-160
lines changed

.commitlintrc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
extends:
2+
- "@commitlint/config-conventional"

.gas-snapshot

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
1-
AccountRegistryTest:testCancelRecoveryFromCustodyAddress() (gas: 135294)
2-
AccountRegistryTest:testCancelRecoveryFromRecoveryAddress() (gas: 135469)
3-
AccountRegistryTest:testCannotCancelRecoveryIfNotStarted() (gas: 93253)
4-
AccountRegistryTest:testCannotCancelRecoveryIfUnauthorized() (gas: 143722)
5-
AccountRegistryTest:testCannotCompleteRecoveryIfNotStarted() (gas: 104236)
6-
AccountRegistryTest:testCannotCompleteRecoveryIfUnauthorized() (gas: 146409)
7-
AccountRegistryTest:testCannotCompleteRecoveryToAddressThatOwnsAnId() (gas: 170667)
8-
AccountRegistryTest:testCannotCompleteRecoveryWhenInEscrow() (gas: 144212)
9-
AccountRegistryTest:testCannotRegisterTwice() (gas: 59413)
10-
AccountRegistryTest:testCannotRequestRecoveryToAddressThatOwnsAnId() (gas: 116341)
11-
AccountRegistryTest:testCannotRequestRecoveryUnlessAuthorized() (gas: 69534)
12-
AccountRegistryTest:testCannotRequestRecoveryUnlessIssued() (gas: 17887)
13-
AccountRegistryTest:testCannotSetRecoveryAddressWithoutId() (gas: 19024)
14-
AccountRegistryTest:testCannotTransferIfNoId() (gas: 21856)
15-
AccountRegistryTest:testCannotTransferToAddressWithId() (gas: 90944)
16-
AccountRegistryTest:testRecoveryCompletion() (gas: 133409)
17-
AccountRegistryTest:testRegister() (gas: 90240)
18-
AccountRegistryTest:testRequestRecovery() (gas: 145181)
19-
AccountRegistryTest:testSetRecoveryAddress() (gas: 95738)
20-
AccountRegistryTest:testTransfer() (gas: 76111)
21-
NameSpaceTest:testBidAfterOneStep() (gas: 220251)
22-
NameSpaceTest:testBidAndOverpay() (gas: 215870)
23-
NameSpaceTest:testBidFlatRate() (gas: 218629)
24-
NameSpaceTest:testBidImmediately() (gas: 231922)
25-
NameSpaceTest:testBidOnHundredthStep() (gas: 218629)
26-
NameSpaceTest:testBidOnPenultimateStep() (gas: 218619)
27-
NameSpaceTest:testBidShouldClearRecovery() (gas: 262274)
28-
NameSpaceTest:testCancelRecoveryFromCustodyAddress() (gas: 224337)
29-
NameSpaceTest:testCancelRecoveryFromRecoveryAddress() (gas: 223953)
30-
NameSpaceTest:testCannotBidIfRegistrable() (gas: 30917)
31-
NameSpaceTest:testCannotBidUnlessBiddable() (gas: 175857)
32-
NameSpaceTest:testCannotCancelRecoveryIfNotStarted() (gas: 188379)
33-
NameSpaceTest:testCannotCancelRecoveryIfUnauthorized() (gas: 235048)
34-
NameSpaceTest:testCannotCommitWithInvalidName() (gas: 22838)
35-
NameSpaceTest:testCannotCompleteRecoveryIfExpired() (gas: 246950)
36-
NameSpaceTest:testCannotCompleteRecoveryIfNotStarted() (gas: 192631)
37-
NameSpaceTest:testCannotCompleteRecoveryIfUnauthorized() (gas: 220397)
38-
NameSpaceTest:testCannotCompleteRecoveryWhenInEscrow() (gas: 236645)
39-
NameSpaceTest:testCannotReclaimUnlessMinted() (gas: 17407)
40-
NameSpaceTest:testCannotRegisterBeforeDelay() (gas: 90808)
41-
NameSpaceTest:testCannotRegisterWithoutPayment() (gas: 85835)
42-
NameSpaceTest:testCannotRenewIfBiddable() (gas: 165501)
43-
NameSpaceTest:testCannotRenewIfRegistered() (gas: 165585)
44-
NameSpaceTest:testCannotRenewIfRegistrable() (gas: 31908)
45-
NameSpaceTest:testCannotRenewIfRegistrable2() (gas: 31950)
46-
NameSpaceTest:testCannotRenewWithoutPayment() (gas: 158644)
47-
NameSpaceTest:testCannotRequestRecoveryIfRegistrable() (gas: 26549)
48-
NameSpaceTest:testCannotRequestRecoveryToZeroAddr() (gas: 188122)
49-
NameSpaceTest:testCannotRequestRecoveryUnlessAuthorized() (gas: 166552)
50-
NameSpaceTest:testCannotSetRecoveryIfExpired() (gas: 167808)
51-
NameSpaceTest:testCannotSetRecoveryIfRegistrable() (gas: 20986)
52-
NameSpaceTest:testCannotSetRecoveryUnlessOwner() (gas: 161314)
53-
NameSpaceTest:testCurrYear() (gas: 78247)
54-
NameSpaceTest:testCurrYearPayment() (gas: 45881)
55-
NameSpaceTest:testGenerateCommit() (gas: 40350)
56-
NameSpaceTest:testOwnerOfRevertsIfExpired() (gas: 155403)
57-
NameSpaceTest:testOwnerOfRevertsIfRegistrable() (gas: 12872)
58-
NameSpaceTest:testReclaimBiddableNames() (gas: 184160)
59-
NameSpaceTest:testReclaimRegisteredNames() (gas: 192312)
60-
NameSpaceTest:testReclaimRenewableNames() (gas: 184214)
61-
NameSpaceTest:testReclaimResetsRecoveryState() (gas: 228319)
62-
NameSpaceTest:testRecoveryCompletion() (gas: 247456)
63-
NameSpaceTest:testRegister() (gas: 259269)
64-
NameSpaceTest:testRenewOther() (gas: 177082)
65-
NameSpaceTest:testRenewSelf() (gas: 174499)
66-
NameSpaceTest:testRenewWithOverpayment() (gas: 180049)
67-
NameSpaceTest:testRequestRecovery() (gas: 244495)
68-
NameSpaceTest:testSetRecoveryAddress() (gas: 192523)
69-
NameSpaceTest:testTransferFromCannotTransferExpiredName() (gas: 174029)
70-
NameSpaceTest:testTransferFromResetsRecovery() (gas: 227661)
1+
AccountRegistryTest:testCancelRecoveryFromCustodyAddress() (gas: 134170)
2+
AccountRegistryTest:testCancelRecoveryFromRecoveryAddress() (gas: 134333)
3+
AccountRegistryTest:testCannotCancelRecoveryIfNotStarted() (gas: 92791)
4+
AccountRegistryTest:testCannotCancelRecoveryIfUnauthorized() (gas: 142930)
5+
AccountRegistryTest:testCannotCompleteRecoveryIfNotStarted() (gas: 103609)
6+
AccountRegistryTest:testCannotCompleteRecoveryIfUnauthorized() (gas: 145586)
7+
AccountRegistryTest:testCannotCompleteRecoveryToAddressThatOwnsAnId() (gas: 169762)
8+
AccountRegistryTest:testCannotCompleteRecoveryWhenInEscrow() (gas: 143386)
9+
AccountRegistryTest:testCannotRegisterTwice() (gas: 59192)
10+
AccountRegistryTest:testCannotRequestRecoveryToAddressThatOwnsAnId() (gas: 115720)
11+
AccountRegistryTest:testCannotRequestRecoveryUnlessAuthorized() (gas: 69101)
12+
AccountRegistryTest:testCannotRequestRecoveryUnlessIssued() (gas: 17612)
13+
AccountRegistryTest:testCannotSetRecoveryAddressWithoutId() (gas: 18729)
14+
AccountRegistryTest:testCannotTransferIfNoId() (gas: 21540)
15+
AccountRegistryTest:testCannotTransferToAddressWithId() (gas: 90434)
16+
AccountRegistryTest:testRecoveryCompletion() (gas: 132729)
17+
AccountRegistryTest:testRegister() (gas: 89981)
18+
AccountRegistryTest:testRequestRecovery() (gas: 144520)
19+
AccountRegistryTest:testSetRecoveryAddress() (gas: 95217)
20+
AccountRegistryTest:testTransfer() (gas: 75710)
21+
NameSpaceTest:testBidAfterOneStep() (gas: 219011)
22+
NameSpaceTest:testBidAndOverpay() (gas: 215110)
23+
NameSpaceTest:testBidFlatRate() (gas: 217389)
24+
NameSpaceTest:testBidImmediately() (gas: 230289)
25+
NameSpaceTest:testBidOnHundredthStep() (gas: 217389)
26+
NameSpaceTest:testBidOnPenultimateStep() (gas: 217356)
27+
NameSpaceTest:testBidShouldClearRecovery() (gas: 261366)
28+
NameSpaceTest:testCancelRecoveryFromCustodyAddress() (gas: 223356)
29+
NameSpaceTest:testCancelRecoveryFromRecoveryAddress() (gas: 223027)
30+
NameSpaceTest:testCannotBidIfRegistrable() (gas: 30583)
31+
NameSpaceTest:testCannotBidUnlessBiddable() (gas: 174689)
32+
NameSpaceTest:testCannotCancelRecoveryIfNotStarted() (gas: 187551)
33+
NameSpaceTest:testCannotCancelRecoveryIfUnauthorized() (gas: 234090)
34+
NameSpaceTest:testCannotCommitWithInvalidName() (gas: 21940)
35+
NameSpaceTest:testCannotCompleteRecoveryIfExpired() (gas: 245740)
36+
NameSpaceTest:testCannotCompleteRecoveryIfNotStarted() (gas: 191835)
37+
NameSpaceTest:testCannotCompleteRecoveryIfUnauthorized() (gas: 219345)
38+
NameSpaceTest:testCannotCompleteRecoveryWhenInEscrow() (gas: 235797)
39+
NameSpaceTest:testCannotReclaimUnlessMinted() (gas: 17306)
40+
NameSpaceTest:testCannotRegisterBeforeDelay() (gas: 90261)
41+
NameSpaceTest:testCannotRegisterWithoutPayment() (gas: 85355)
42+
NameSpaceTest:testCannotRenewIfBiddable() (gas: 164768)
43+
NameSpaceTest:testCannotRenewIfRegistered() (gas: 164928)
44+
NameSpaceTest:testCannotRenewIfRegistrable() (gas: 31581)
45+
NameSpaceTest:testCannotRenewIfRegistrable2() (gas: 31578)
46+
NameSpaceTest:testCannotRenewWithoutPayment() (gas: 157897)
47+
NameSpaceTest:testCannotRequestRecoveryIfRegistrable() (gas: 26256)
48+
NameSpaceTest:testCannotRequestRecoveryToZeroAddr() (gas: 187226)
49+
NameSpaceTest:testCannotRequestRecoveryUnlessAuthorized() (gas: 165779)
50+
NameSpaceTest:testCannotSetRecoveryIfExpired() (gas: 166726)
51+
NameSpaceTest:testCannotSetRecoveryIfRegistrable() (gas: 20678)
52+
NameSpaceTest:testCannotSetRecoveryUnlessOwner() (gas: 160583)
53+
NameSpaceTest:testCurrYear() (gas: 78183)
54+
NameSpaceTest:testCurrYearPayment() (gas: 45694)
55+
NameSpaceTest:testGenerateCommit() (gas: 40003)
56+
NameSpaceTest:testOwnerOfRevertsIfExpired() (gas: 154835)
57+
NameSpaceTest:testOwnerOfRevertsIfRegistrable() (gas: 12799)
58+
NameSpaceTest:testReclaimBiddableNames() (gas: 183484)
59+
NameSpaceTest:testReclaimRegisteredNames() (gas: 191689)
60+
NameSpaceTest:testReclaimRenewableNames() (gas: 183516)
61+
NameSpaceTest:testReclaimResetsRecoveryState() (gas: 227596)
62+
NameSpaceTest:testRecoveryCompletion() (gas: 246644)
63+
NameSpaceTest:testRegister() (gas: 258116)
64+
NameSpaceTest:testRenewOther() (gas: 176426)
65+
NameSpaceTest:testRenewSelf() (gas: 173911)
66+
NameSpaceTest:testRenewWithOverpayment() (gas: 179467)
67+
NameSpaceTest:testRequestRecovery() (gas: 243434)
68+
NameSpaceTest:testSetRecoveryAddress() (gas: 191620)
69+
NameSpaceTest:testTransferFromCannotTransferExpiredName() (gas: 172891)
70+
NameSpaceTest:testTransferFromResetsRecovery() (gas: 226940)

.github/workflows/ci.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,17 @@ jobs:
1515
strategy:
1616
fail-fast: true
1717

18-
name: Foundry project
18+
name: Farcaster Contract Tests
1919
timeout-minutes: 10
2020
runs-on: ubuntu-latest
2121
steps:
2222
- uses: actions/checkout@v3
2323
with:
2424
submodules: recursive
2525

26-
- uses: actions/setup-node@v2
26+
- uses: actions/setup-node@v3
2727
with:
28+
cache: "yarn"
2829
node-version: "18"
2930

3031
- name: Restore cached dependencies for Node modules.
@@ -38,7 +39,7 @@ jobs:
3839
run: yarn install
3940

4041
- name: Run linter
41-
run: yarn lint:check
42+
run: yarn lint
4243

4344
- name: Install Foundry
4445
uses: foundry-rs/foundry-toolchain@v1
@@ -53,5 +54,10 @@ jobs:
5354
- name: Run Forge tests
5455
run: forge test -vvv
5556

57+
- name: Build the contracts
58+
run: |
59+
forge --version
60+
forge build --sizes
61+
5662
- name: Check Forge gas snapshot
5763
run: forge snapshot --check

.gitignore

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1-
cache/
2-
out/
3-
node_modules/
4-
.env
1+
# directories
2+
.yarn/*
3+
!.yarn/patches
4+
!.yarn/releases
5+
!.yarn/plugins
6+
!.yarn/sdks
7+
!.yarn/versions
8+
**/cache
9+
**/node_modules
10+
**/out
11+
12+
# files
13+
*.env
14+
*.log
15+
.DS_Store
16+
.pnp.*
17+
yarn-debug.log*
18+
yarn-error.log*

.husky/commit-msg

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
npx commitlint --edit $1

.husky/prepare-commit-msg

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
exec < /dev/tty && node_modules/.bin/cz --hook || true

.lintstagedrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"*.{json,md,sol,yml}": [
3+
"prettier --config ./.prettierrc.yml --write"
4+
]
5+
}

.prettierignore

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1-
cache
2-
node_modules
3-
lib
1+
# directories
2+
.yarn/
3+
**/broadcast
4+
**/cache
5+
**/lib
6+
**/out
7+
**/node_modules
8+
9+
# files
10+
*.env
11+
*.log
12+
yarn-debug.log*
13+
yarn-error.log*

.prettierrc

Lines changed: 0 additions & 15 deletions
This file was deleted.

.prettierrc.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
arrowParens: "avoid"
2+
bracketSpacing: true
3+
endOfLine: "auto"
4+
printWidth: 120
5+
singleQuote: false
6+
tabWidth: 2
7+
trailingComma: "all"
8+
9+
overrides:
10+
- files: ["*.sol"]
11+
options:
12+
compiler: "0.8.15"
13+
tabWidth: 4
14+
useTabs: false
15+
singleQuote: false
16+
bracketSpacing: false
17+
explicitTypes: "always"

0 commit comments

Comments
 (0)