Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/simple structs #53

Merged
merged 84 commits into from
Feb 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
21ea26c
feat: prototype attesters in registry
zeroknots Jan 6, 2024
8c654a9
fix: check on threshold length
zeroknots Jan 6, 2024
7378452
feat: check for account
zeroknots Jan 6, 2024
0911751
chore: rename
zeroknots Jan 6, 2024
79eca98
spacing
zeroknots Feb 6, 2024
f5eafdd
chore: cleaned dependencies
zeroknots Feb 6, 2024
4e3e784
fix: imports
zeroknots Feb 6, 2024
48ae9a2
fix: removing resolverUID
zeroknots Feb 6, 2024
070ae03
chore: gas
zeroknots Feb 6, 2024
14cd03f
chore: name refactor
zeroknots Feb 6, 2024
d4fa989
foo
zeroknots Feb 6, 2024
c8dec99
refactor complete
zeroknots Feb 7, 2024
f75db7c
renaming stubs
zeroknots Feb 7, 2024
5428d29
chore: cleaned interface
zeroknots Feb 7, 2024
4fb94cd
feat: changed resolver hooks to differenciate attestation and revocation
zeroknots Feb 7, 2024
33690a3
feat: tests
zeroknots Feb 7, 2024
80e99e8
del: removing old files
zeroknots Feb 7, 2024
e427e7f
del: removing old files
zeroknots Feb 7, 2024
d560e89
chore: adding tests for attestation arrays
zeroknots Feb 7, 2024
4d96a07
chore: tests
zeroknots Feb 7, 2024
54fe752
foo
zeroknots Feb 7, 2024
22b5c38
feat: add module deployment via registry test
zeroknots Feb 7, 2024
a72ac4a
chore: adding resolver tests
zeroknots Feb 7, 2024
b72bb38
chore: add node_modules to gitignore
kopy-kat Feb 7, 2024
e99abbf
chore: make docs prettier
zeroknots Feb 7, 2024
01e47e3
chore: improving readability with custom types
zeroknots Feb 7, 2024
4fd6781
chore: sorting imports
zeroknots Feb 7, 2024
9cba3b4
chore: sort
zeroknots Feb 7, 2024
0427f8a
focs
zeroknots Feb 8, 2024
585ed9a
WIP
zeroknots Feb 8, 2024
7a050a8
chore: adding docs
zeroknots Feb 8, 2024
c064bcc
feat: adding legacy functions to check
zeroknots Feb 8, 2024
f53ccde
feat: fix all tests
zeroknots Feb 8, 2024
b77ba0a
chore: more test cases
zeroknots Feb 8, 2024
3f8e9d9
feat: adding slither
zeroknots Feb 8, 2024
754fe62
chore fixing events
zeroknots Feb 9, 2024
06dda19
feat: clean up module deployment
zeroknots Feb 9, 2024
09976c7
cleaning up
zeroknots Feb 9, 2024
0a27e91
Update src/core/ModuleManager.sol
zeroknots Feb 12, 2024
0b60962
Feature/v0.3 fixes (#54)
zeroknots Feb 12, 2024
0382e33
Feature/v0.3 fixes (#55)
zeroknots Feb 12, 2024
ac66539
chore: adding TODO inline comment
zeroknots Feb 12, 2024
4fd5a6d
chore: moving TrustedAttesterRecord to DataTypes.sol for consistency
zeroknots Feb 12, 2024
d346104
feat: test for factory deploy
zeroknots Feb 12, 2024
75881e9
feat: fuzz set resolver
zeroknots Feb 12, 2024
5add7c2
feat: non packed moduleTypes now 256 bit to save on padding gas
zeroknots Feb 12, 2024
a951298
feat: ERC7512 prototype
zeroknots Feb 12, 2024
d5a2953
feat: try/catch on revocations now
zeroknots Feb 13, 2024
7774a8c
chore: docs
zeroknots Feb 13, 2024
4c35e24
chore: rename vars & gas savings
zeroknots Feb 13, 2024
1521cb6
chore: remove unneeded code
zeroknots Feb 13, 2024
2b5ba63
gas
zeroknots Feb 13, 2024
fa05695
bump version
zeroknots Feb 13, 2024
974ae5c
chore: renaming storage
zeroknots Feb 13, 2024
4502efb
feat: create2 factory code rewritten to allow tooling for vanity addr…
zeroknots Feb 13, 2024
462376e
adding transferownership to resolver
zeroknots Feb 14, 2024
e874a77
WIP
zeroknots Feb 14, 2024
fa68503
feat: adding event that shows if module registration was done via reg…
zeroknots Feb 14, 2024
afa4733
chore: docs and removing unsafe fn
zeroknots Feb 14, 2024
350cdd9
feat: update CI/CD
zeroknots Feb 16, 2024
d24b4ad
docs: adding nods
zeroknots Feb 19, 2024
815fb41
feat: CI coverage
zeroknots Feb 20, 2024
7a6e611
feat: assembly to check attestation now in shared lib (#57)
zeroknots Feb 21, 2024
c920db4
Update src/Registry.sol
zeroknots Feb 21, 2024
d0f3888
adding code
zeroknots Feb 21, 2024
9773594
adding inputs
zeroknots Feb 21, 2024
2989015
fix: name
zeroknots Feb 21, 2024
4974242
fix: linting
zeroknots Feb 21, 2024
406e8f4
fix: more coverage
zeroknots Feb 21, 2024
629c25f
found bug: external attester
zeroknots Feb 21, 2024
7ca7186
fix: more test coverage
zeroknots Feb 21, 2024
12ce8f1
fix: testing trust manager loop and threshold decrement
zeroknots Feb 21, 2024
020ae75
fix: linting
zeroknots Feb 21, 2024
1b92436
fix: coverage
zeroknots Feb 21, 2024
9acfdd5
adding coverage
zeroknots Feb 21, 2024
ff02a65
chore: adding codecov config
zeroknots Feb 21, 2024
939bfee
adding badges
zeroknots Feb 21, 2024
9bad9b1
fix readme
zeroknots Feb 21, 2024
a675904
removing examples from codecov
zeroknots Feb 21, 2024
04c72b7
test with fuzz
zeroknots Feb 21, 2024
2f14932
rm
zeroknots Feb 21, 2024
6083e21
adding docs
zeroknots Feb 22, 2024
a4f0e72
make pages
zeroknots Feb 22, 2024
11939ef
rename ci
zeroknots Feb 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 64 additions & 116 deletions .gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,116 +1,64 @@
AttestationDelegationTest:testAttest() (gas: 236648)
AttestationDelegationTest:testAttest__RevertWhen_InvalidSignature() (gas: 81170)
AttestationDelegationTest:testAttest__RevertWhen__InvalidExpirationTime() (gas: 73233)
AttestationDelegationTest:testAttest__RevertWhen__InvalidSchema() (gas: 70222)
AttestationDelegationTest:testAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 104060)
AttestationDelegationTest:testAttest__RevertWhen__ZeroImplementation() (gas: 73470)
AttestationDelegationTest:testAttest__With__LargeAttestation() (gas: 441774)
AttestationDelegationTest:testMultiAttest() (gas: 578947)
AttestationDelegationTest:testMultiAttest__RevertWhen__InvalidExpirationTime() (gas: 265063)
AttestationDelegationTest:testMultiAttest__RevertWhen__InvalidLength__DataLength() (gas: 20162)
AttestationDelegationTest:testMultiAttest__RevertWhen__InvalidLength__SignatureLength() (gas: 206475)
AttestationDelegationTest:testMultiAttest__RevertWhen__InvalidSchema() (gas: 261042)
AttestationDelegationTest:testMultiAttest__RevertWhen__InvalidSignature() (gas: 235207)
AttestationDelegationTest:testMultiAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 296139)
AttestationDelegationTest:testMultiAttest__RevertWhen__ZeroImplementation() (gas: 263236)
AttestationDelegationTest:testMultiRevoke() (gas: 633003)
AttestationDelegationTest:testMultiRevoke__RevertWhen__AlreadyRevoked() (gas: 558562)
AttestationDelegationTest:testMultiRevoke__RevertWhen__AttestationNotFound() (gas: 209073)
AttestationDelegationTest:testMultiRevoke__RevertWhen__InvalidSchema() (gas: 539260)
AttestationDelegationTest:testMultiRevoke__RevertWhen__NotOriginalAttester() (gas: 541378)
AttestationDelegationTest:testRevoke() (gas: 273156)
AttestationDelegationTest:testRevoke__RevertWhen__AlreadyRevoked() (gas: 291040)
AttestationDelegationTest:testRevoke__RevertWhen__AttestationNotFound() (gas: 75469)
AttestationDelegationTest:testRevoke__RevertWhen__InvalidSchema() (gas: 265566)
AttestationDelegationTest:testRevoke__RevertWhen__InvalidSignature() (gas: 248016)
AttestationResolveTest:testResolveAttestation() (gas: 17596)
AttestationResolveTest:testResolveAttestation__RevertWhen__InsufficientValue() (gas: 20228)
AttestationResolveTest:testResolveAttestation__RevertWhen__InvalidAttestation() (gas: 20780)
AttestationResolveTest:testResolveAttestation__RevertWhen__InvalidRevocation() (gas: 20779)
AttestationResolveTest:testResolveAttestation__RevertWhen__ResolverNotPayableAndValue() (gas: 20158)
AttestationResolveTest:testResolveAttestation__RevertWhen__ZeroResolverAndValue() (gas: 16986)
AttestationResolveTest:testResolveAttestation__WithValue() (gas: 59730)
AttestationTest:testAttest() (gas: 193660)
AttestationTest:testAttest__RevertWhen__InvalidExpirationTime() (gas: 32875)
AttestationTest:testAttest__RevertWhen__InvalidSchema() (gas: 29936)
AttestationTest:testAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 63769)
AttestationTest:testAttest__RevertWhen__ZeroImplementation() (gas: 33023)
AttestationTest:testAttest__With__LargeAttestation() (gas: 395795)
AttestationTest:testMultiAttest() (gas: 513538)
AttestationTest:testMultiAttest__RevertWhen__InvalidExpirationTime() (gas: 200172)
AttestationTest:testMultiAttest__RevertWhen__InvalidSchema() (gas: 196284)
AttestationTest:testMultiAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 231345)
AttestationTest:testMultiAttest__RevertWhen__ZeroImplementation() (gas: 229241)
AttestationTest:testMultiRevoke() (gas: 551479)
AttestationTest:testMultiRevoke__RevertWhen__AlreadyRevoked() (gas: 558396)
AttestationTest:testMultiRevoke__RevertWhen__AttestationNotFound() (gas: 208979)
AttestationTest:testMultiRevoke__RevertWhen__InvalidSchema() (gas: 539188)
AttestationTest:testMultiRevoke__RevertWhen__NotOriginalAttester() (gas: 541269)
AttestationTest:testRevoke() (gas: 213801)
AttestationTest:testRevoke__RevertWhen__AlreadyRevoked() (gas: 227300)
AttestationTest:testRevoke__RevertWhen__AttestationNotFound() (gas: 40523)
AttestationTest:testRevoke__RevertWhen__InvalidSchema() (gas: 211825)
AttestationTest:testRevoke__RevertWhen__NotOriginalAttester() (gas: 210649)
DeployRegistryTest:testRun() (gas: 4410056)
EIP712VerifierTest:testGetAttestationDigest() (gas: 20149)
EIP712VerifierTest:testGetNonce() (gas: 48032)
EIP712VerifierTest:testGetRevocationDigest() (gas: 18470)
EIP712VerifierTest:testVerifyAttest() (gas: 45158)
EIP712VerifierTest:testVerifyAttest__RevertWhen__InvalidSignature() (gas: 39033)
EIP712VerifierTest:testVerifyRevoke() (gas: 43400)
MockRegistryTest:testCheck() (gas: 5721)
MockRegistryTest:testCheckN() (gas: 7714)
MockRegistryTest:testCheckNUnsafe() (gas: 7779)
ModuleTest:testCreate3() (gas: 185945)
ModuleTest:testDeployNoArgs() (gas: 205604)
ModuleTest:testDeployWithArgs() (gas: 229119)
ModuleTest:testExternalFactory() (gas: 345659)
ModuleTest:testNonexistingModule__ShouldRevert() (gas: 78682)
ModuleTest:testReRegisterModule__ShouldRevert() (gas: 214236)
QueryTest:testAttest() (gas: 193660)
QueryTest:testAttest__RevertWhen__InvalidExpirationTime() (gas: 32942)
QueryTest:testAttest__RevertWhen__InvalidSchema() (gas: 30003)
QueryTest:testAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 63814)
QueryTest:testAttest__RevertWhen__ZeroImplementation() (gas: 33112)
QueryTest:testAttest__With__LargeAttestation() (gas: 395862)
QueryTest:testCheckAttestation() (gas: 195317)
QueryTest:testCheckAttestation__RevertWhen__AttestationNotExistent() (gas: 13120)
QueryTest:testCheckAttestation__RevertWhen__Expired() (gas: 241325)
QueryTest:testCheckAttestation__RevertWhen__Revoked() (gas: 215496)
QueryTest:testCheckNAttestation() (gas: 405642)
QueryTest:testCheckNAttestationUnsafe() (gas: 410171)
QueryTest:testCheckNAttestationUnsafe__Expired() (gas: 410898)
QueryTest:testCheckNAttestationUnsafe__RevertWhen__ThresholdNotMet() (gas: 211730)
QueryTest:testCheckNAttestationUnsafe__Revoked() (gas: 426993)
QueryTest:testCheckNAttestation__RevertWhen__Expired() (gas: 479262)
QueryTest:testCheckNAttestation__RevertWhen__Revoked() (gas: 445299)
QueryTest:testCheckNAttestation__RevertWhen__ThresholdNotMet() (gas: 204623)
QueryTest:testFindAttestation() (gas: 197162)
QueryTest:testFindAttestations() (gas: 410019)
QueryTest:testMultiAttest() (gas: 513560)
QueryTest:testMultiAttest__RevertWhen__InvalidExpirationTime() (gas: 200194)
QueryTest:testMultiAttest__RevertWhen__InvalidSchema() (gas: 196284)
QueryTest:testMultiAttest__RevertWhen__ValidatorSaysInvalidAttestation() (gas: 231389)
QueryTest:testMultiAttest__RevertWhen__ZeroImplementation() (gas: 229241)
QueryTest:testMultiRevoke() (gas: 551657)
QueryTest:testMultiRevoke__RevertWhen__AlreadyRevoked() (gas: 558418)
QueryTest:testMultiRevoke__RevertWhen__AttestationNotFound() (gas: 209001)
QueryTest:testMultiRevoke__RevertWhen__InvalidSchema() (gas: 539188)
QueryTest:testMultiRevoke__RevertWhen__NotOriginalAttester() (gas: 541269)
QueryTest:testRevoke() (gas: 213934)
QueryTest:testRevoke__RevertWhen__AlreadyRevoked() (gas: 227499)
QueryTest:testRevoke__RevertWhen__AttestationNotFound() (gas: 40545)
QueryTest:testRevoke__RevertWhen__InvalidSchema() (gas: 211847)
QueryTest:testRevoke__RevertWhen__NotOriginalAttester() (gas: 210649)
RegistryGasComparisonTest:testGasCheck() (gas: 24415)
RegistryGasComparisonTest:testGasCheckN__Given__ThreeAttesters() (gas: 52861)
RegistryGasComparisonTest:testGasCheckN__Given__TwoAttesters() (gas: 39735)
SchemaTest:testRegisterResolver() (gas: 57007)
SchemaTest:testRegisterResolver__RevertWhen__AlreadyExists() (gas: 62681)
SchemaTest:testRegisterResolver__RevertWhen__InvalidResolver() (gas: 11707)
SchemaTest:testRegisterSchema() (gas: 60515)
SchemaTest:testRegisterSchema__RevertWhen__AlreadyExists() (gas: 63133)
SchemaTest:testSetResolver() (gas: 63593)
SimpleRegistryIntegrationTest:testGasRegistryCheck() (gas: 200478)
TokenizedResolverTest:testTokenizedResolver() (gas: 510680)
ValueResolverTest:testValueResolver() (gas: 490959)
AttestationTest:test_WhenAttestingToNon_existingModule(address,uint48,bytes,uint32[]) (runs: 256, μ: 23689, ~: 23329)
AttestationTest:test_WhenAttestingWithExpirationTimeInThePast(address,bytes,uint32) (runs: 256, μ: 16593, ~: 16549)
AttestationTest:test_WhenAttestingWithNoAttestationData() (gas: 275618)
AttestationTest:test_WhenAttestingWithTooHighModuleType(address,uint48,bytes,uint32) (runs: 256, μ: 18309, ~: 18706)
AttestationTest:test_WhenAttesting_ShouldCallResolver() (gas: 180325)
AttestationTest:test_WhenReAttestingToARevokedAttestation() (gas: 336471)
AttestationTest:test_WhenRevokingAttestationThatDoesntExist(address) (runs: 256, μ: 28098, ~: 28098)
AttestationTest:test_WhenRevokingWithValidECDSA() (gas: 240190)
AttestationTest:test_WhenRevokingWithValidECDSAMulti() (gas: 409757)
AttestationTest:test_WhenTokensAreNotPaid() (gas: 210)
AttestationTest:test_WhenTokensArePaid() (gas: 232)
AttestationTest:test_WhenUsingInvalidECDSA() (gas: 51597)
AttestationTest:test_WhenUsingInvalidECDSAMulti() (gas: 59947)
AttestationTest:test_WhenUsingInvalidERC1271() (gas: 45292)
AttestationTest:test_WhenUsingInvalidERC1271Multi() (gas: 51080)
AttestationTest:test_WhenUsingValidECDSA() (gas: 224126)
AttestationTest:test_WhenUsingValidECDSAMulti() (gas: 385144)
AttestationTest:test_WhenUsingValidERC1271() (gas: 211437)
AttestationTest:test_WhenUsingValidERC1271Multi() (gas: 371364)
ImmutableData:invariant_attestation_immutable() (runs: 1200, calls: 24000, reverts: 7425)
ImmutableData:invariant_balance() (runs: 1200, calls: 24000, reverts: 7425)
ImmutableData:invariant_resolver_immutable() (runs: 1200, calls: 24000, reverts: 7425)
ImmutableData:invariant_schema_immutable() (runs: 1200, calls: 24000, reverts: 7425)
ModuleRegistrationTest:test_WhenDeployingViaRegistry() (gas: 130398)
ModuleRegistrationTest:test_WhenDeployingViaRegistryWithArgs() (gas: 153516)
ModuleRegistrationTest:test_WhenRegisteringAModuleOnAInValidResolverUID() (gas: 74823)
ModuleRegistrationTest:test_WhenRegisteringAModuleOnAValidResolverUID() (gas: 105730)
ModuleRegistrationTest:test_WhenRegisteringAModuleOnAnInvalidResolverUID() (gas: 81381)
ModuleRegistrationTest:test_WhenRegisteringTwoModulesWithTheSameBytecode() (gas: 108559)
ModuleRegistrationTest:test_WhenRegisteringViaFactory() (gas: 219570)
ModuleRegistrationTest:test_WhenUsingInvalidFactory() (gas: 16406)
ModuleRegistrationTest:test_WhenUsingRegistryASFactory() (gas: 13561)
ResolverTest:test_WhenNewResolver() (gas: 285233)
ResolverTest:test_WhenResolverAlreadyRegistered() (gas: 282816)
ResolverTest:test_WhenUsingAuthorizedAccount() (gas: 511780)
ResolverTest:test_WhenUsingUnauthorizedAccount() (gas: 285133)
SchemaValidationTest:test_WhenSchemaAlreadyRegistered() (gas: 108072)
SchemaValidationTest:test_WhenSchemaNew() (gas: 53779)
TrustTest:test_WhenAttesterSetButNoAttestationMade() (gas: 253)
TrustTest:test_WhenAttestersSetAndAllOk() (gas: 285080)
TrustTest:test_WhenAttestersSetButThresholdTooLow() (gas: 188)
TrustTest:test_WhenAttestingToNon_existingModule(address,uint48,bytes,uint32[]) (runs: 256, μ: 23718, ~: 23357)
TrustTest:test_WhenAttestingWithExpirationTimeInThePast(address,bytes,uint32) (runs: 256, μ: 16570, ~: 16527)
TrustTest:test_WhenAttestingWithNoAttestationData() (gas: 275596)
TrustTest:test_WhenAttestingWithTooHighModuleType(address,uint48,bytes,uint32) (runs: 256, μ: 18480, ~: 18728)
TrustTest:test_WhenAttesting_ShouldCallResolver() (gas: 180392)
TrustTest:test_WhenNoAttestersSet() (gas: 39131)
TrustTest:test_WhenReAttestingToARevokedAttestation() (gas: 336493)
TrustTest:test_WhenRevokingAttestationThatDoesntExist(address) (runs: 256, μ: 28120, ~: 28120)
TrustTest:test_WhenRevokingWithValidECDSA() (gas: 240168)
TrustTest:test_WhenRevokingWithValidECDSAMulti() (gas: 409823)
TrustTest:test_WhenSupplyingManyAttesters(address[]) (runs: 256, μ: 1326050, ~: 1326696)
TrustTest:test_WhenSupplyingOneAttester() (gas: 42650)
TrustTest:test_WhenSupplyingSameAttesterMultipleTimes() (gas: 13159)
TrustTest:test_WhenTokensAreNotPaid() (gas: 210)
TrustTest:test_WhenTokensArePaid() (gas: 232)
TrustTest:test_WhenUsingInvalidECDSA() (gas: 51619)
TrustTest:test_WhenUsingInvalidECDSAMulti() (gas: 59925)
TrustTest:test_WhenUsingInvalidERC1271() (gas: 45292)
TrustTest:test_WhenUsingInvalidERC1271Multi() (gas: 51169)
TrustTest:test_WhenUsingValidECDSA() (gas: 224126)
TrustTest:test_WhenUsingValidECDSAMulti() (gas: 385122)
TrustTest:test_WhenUsingValidERC1271() (gas: 211437)
TrustTest:test_WhenUsingValidERC1271Multi() (gas: 371342)
26 changes: 26 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
on:
- push
- pull_request

jobs:
lint:
uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-lint.yaml@main"

build:
uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-build.yaml@main"

test-unit:
needs: ["lint", "build"]
uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-test.yaml@main"
with:
foundry-fuzz-runs: 5000
foundry-profile: "test"
match-path: "test/**/*.sol"
name: "Unit tests"

coverage:
needs: ["build"]
uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-coverage.yaml@main"
with:
match-path: "test/**/*.sol"
codecov-slug: zeroknots/registry
25 changes: 0 additions & 25 deletions .github/workflows/foundryTest.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/gh-pages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: github pages

on:
- push

jobs:
deploy:
runs-on: ubuntu-20.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- uses: actions/checkout@v2

- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: "0.4.10"
# mdbook-version: 'latest'

- run: cd docs; mdbook build

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/book
8 changes: 8 additions & 0 deletions .github/workflows/slither.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Slither Analysis
on: [push]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crytic/[email protected]
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
cache/
out/
.DS_Store
docs/

# Ignores development broadcast logs
/broadcast
/broadcast/*/31337/
/broadcast/**/dry-run/


# Dotenv file
.env
.t

node_modules
20 changes: 0 additions & 20 deletions .gitmodules

This file was deleted.

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": {
"avoid-low-level-calls": "off",
"code-complexity": ["error", 9],
"compiler-version": ["error", ">=0.8.0"],
"contract-name-camelcase": "off",
"const-name-snakecase": "off",
"custom-errors": "error",
"no-inline-assembly": "off",
"func-name-mixedcase": "error",
"func-visibility": ["error", { "ignoreConstructors": true }],
"max-line-length": ["error", 140],
"named-parameters-mapping": "warn",
"no-empty-blocks": "off",
"not-rely-on-time": "off",
"one-contract-per-file": "off",
"var-name-mixedcase": "off"
}
}
6 changes: 6 additions & 0 deletions .solhintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules/
test/
src/integrations/MockRegistry.sol
src/integrations/examples/
src/external/examples/
script/
Loading
Loading