diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..a8056e8b --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,37 @@ +name: 🔍️ CodeQL + +on: [push, pull_request, workflow_dispatch] + +concurrency: + group: ${{github.workflow}}-${{github.ref}} + cancel-in-progress: true + +jobs: + analyse: + runs-on: ${{ matrix.os }} + permissions: + security-events: write + strategy: + matrix: + os: + - ubuntu-latest + language: + - javascript-typescript + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Initialise CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + - name: Perform CodeQL analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/interface/package.json b/interface/package.json index ca74724e..42696a5f 100644 --- a/interface/package.json +++ b/interface/package.json @@ -44,7 +44,7 @@ "@next/eslint-plugin-next": "^14.1.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/node": "^20.11.20", - "@types/react": "^18.2.58", + "@types/react": "^18.2.60", "@types/react-dom": "^18.2.19", "autoprefixer": "^10.4.17", "eslint": "^8.57.0", @@ -57,6 +57,6 @@ "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.4.1", "typescript": "^5.3.3", - "typescript-eslint": "^7.0.2" + "typescript-eslint": "^7.1.0" } } diff --git a/package.json b/package.json index d5b5fee5..c7492f1e 100644 --- a/package.json +++ b/package.json @@ -138,6 +138,7 @@ "solhint": "^4.1.1", "ts-node": "^10.9.2", "typechain": "^8.3.2", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "typescript-eslint": "^7.1.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cdb3d6f..f78d399a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,6 +61,9 @@ importers: typescript: specifier: ^5.3.3 version: 5.3.3 + typescript-eslint: + specifier: ^7.1.0 + version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) interface: dependencies: @@ -102,8 +105,8 @@ importers: specifier: ^20.11.20 version: 20.11.20 "@types/react": - specifier: ^18.2.58 - version: 18.2.58 + specifier: ^18.2.60 + version: 18.2.60 "@types/react-dom": specifier: ^18.2.19 version: 18.2.19 @@ -141,8 +144,8 @@ importers: specifier: ^5.3.3 version: 5.3.3 typescript-eslint: - specifier: ^7.0.2 - version: 7.0.2(eslint@8.57.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -2349,13 +2352,13 @@ packages: integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==, } dependencies: - "@types/react": 18.2.58 + "@types/react": 18.2.60 dev: true - /@types/react@18.2.58: + /@types/react@18.2.60: resolution: { - integrity: sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw==, + integrity: sha512-dfiPj9+k20jJrLGOu9Nf6eqxm2EyJRrq2NvwOFsfbb7sFExZ9WELPs67UImHj3Ayxg8ruTtKtNnbjaF8olPq0A==, } dependencies: "@types/prop-types": 15.7.11 @@ -2396,10 +2399,10 @@ packages: } dev: true - /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==, + integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -2411,11 +2414,11 @@ packages: optional: true dependencies: "@eslint-community/regexpp": 4.10.0 - "@typescript-eslint/parser": 7.0.2(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/scope-manager": 7.0.2 - "@typescript-eslint/type-utils": 7.0.2(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/utils": 7.0.2(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 7.0.2 + "@typescript-eslint/parser": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/type-utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 graphemer: 1.4.0 @@ -2452,10 +2455,10 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==, + integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -2465,10 +2468,10 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/scope-manager": 7.0.2 - "@typescript-eslint/types": 7.0.2 - "@typescript-eslint/typescript-estree": 7.0.2(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 7.0.2 + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 typescript: 5.3.3 @@ -2487,21 +2490,21 @@ packages: "@typescript-eslint/visitor-keys": 6.21.0 dev: true - /@typescript-eslint/scope-manager@7.0.2: + /@typescript-eslint/scope-manager@7.1.0: resolution: { - integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==, + integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==, } engines: { node: ^16.0.0 || >=18.0.0 } dependencies: - "@typescript-eslint/types": 7.0.2 - "@typescript-eslint/visitor-keys": 7.0.2 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/visitor-keys": 7.1.0 dev: true - /@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==, + integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -2511,8 +2514,8 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/typescript-estree": 7.0.2(typescript@5.3.3) - "@typescript-eslint/utils": 7.0.2(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) + "@typescript-eslint/utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.2.1(typescript@5.3.3) @@ -2529,10 +2532,10 @@ packages: engines: { node: ^16.0.0 || >=18.0.0 } dev: true - /@typescript-eslint/types@7.0.2: + /@typescript-eslint/types@7.1.0: resolution: { - integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==, + integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==, } engines: { node: ^16.0.0 || >=18.0.0 } dev: true @@ -2562,10 +2565,10 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3): + /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): resolution: { - integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==, + integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -2574,8 +2577,8 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/types": 7.0.2 - "@typescript-eslint/visitor-keys": 7.0.2 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -2587,10 +2590,10 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==, + integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -2599,9 +2602,9 @@ packages: "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) "@types/json-schema": 7.0.15 "@types/semver": 7.5.7 - "@typescript-eslint/scope-manager": 7.0.2 - "@typescript-eslint/types": 7.0.2 - "@typescript-eslint/typescript-estree": 7.0.2(typescript@5.3.3) + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -2620,14 +2623,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.0.2: + /@typescript-eslint/visitor-keys@7.1.0: resolution: { - integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==, + integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==, } engines: { node: ^16.0.0 || >=18.0.0 } dependencies: - "@typescript-eslint/types": 7.0.2 + "@typescript-eslint/types": 7.1.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4266,7 +4269,7 @@ packages: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) @@ -4315,7 +4318,7 @@ packages: enhanced-resolve: 5.15.0 eslint: 8.57.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -4360,7 +4363,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==, @@ -4384,7 +4387,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - "@typescript-eslint/parser": 7.0.2(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/parser": 7.1.0(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -4392,7 +4395,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0): resolution: { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, @@ -4405,7 +4408,7 @@ packages: "@typescript-eslint/parser": optional: true dependencies: - "@typescript-eslint/parser": 7.0.2(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/parser": 7.1.0(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -4414,7 +4417,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -6396,14 +6399,6 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /lru-cache@10.1.0: - resolution: - { - integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==, - } - engines: { node: 14 || >=16.14 } - dev: true - /lru-cache@10.2.0: resolution: { @@ -7091,7 +7086,7 @@ packages: } engines: { node: ">=16 || 14 >=14.17" } dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 minipass: 7.0.4 dev: true @@ -8864,10 +8859,10 @@ packages: } dev: true - /typescript-eslint@7.0.2(eslint@8.57.0)(typescript@5.3.3): + /typescript-eslint@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-Nsb+Dfi897ErE3CtVJYBECBQWPGEpCXLqLCQarBhFtyJsHnhA7O39GmtAmN3dmZ6bIp8tP5T+AOUrEdE07SBVg==, + integrity: sha512-GfAALH4zoqae5mIfHr7WU3BsULHP73hjwF8vCmyTkH3IXHXjqg3JNWwUcd8CwOTLIr4tjRTZQWpToyESPnpOhg==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -8877,8 +8872,8 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/eslint-plugin": 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/parser": 7.0.2(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/eslint-plugin": 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/parser": 7.1.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: