Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
fe4bc3d
Modernize linting and configuration setup
dguido Aug 29, 2025
cc1c507
Remove .coderabbit.yaml configuration file
dguido Aug 29, 2025
37929a8
Use flexible version constraints for ruff
dguido Aug 29, 2025
7777fd6
Address review feedback: Switch to hatchling, remove pip, use ruff-ac…
dguido Aug 30, 2025
10029fb
Merge branch 'master' into modernize-linting-and-config
dguido Aug 30, 2025
8c70026
Fix CI issues and modernize runner configurations
dguido Aug 30, 2025
3ad6028
Fix yamllint installation in ruff workflow
dguido Aug 30, 2025
0536c6d
Include tests in ruff linting
dguido Aug 30, 2025
7c8691b
Merge branch 'master' into modernize-linting-and-config
dguido Aug 30, 2025
0694f86
Merge remote-tracking branch 'origin/dev' into modernize-linting-and-…
elopez Aug 30, 2025
daed2ea
Migrate to PEP 735 dependency-groups and modernize CI
dguido Sep 2, 2025
f36545e
Fix CI: Add venv to PATH after uv sync
dguido Sep 2, 2025
9ad47f3
Use idiomatic uv run approach in CI
dguido Sep 2, 2025
3a6d510
Fix CI: Add python and pip wrapper functions
dguido Sep 2, 2025
347d4b1
Use modern importlib.metadata API instead of pkg_resources
dguido Sep 2, 2025
e790c69
Upgrade minimum Python version to 3.9
dguido Sep 2, 2025
f0c1990
Fix solc command availability in CI tests
dguido Sep 2, 2025
2350f25
Fix solc wrapper to check both nested and direct binary paths
dguido Sep 2, 2025
bcfadda
Fix solc wrapper to dynamically get venv path from uv
dguido Sep 2, 2025
ced194c
Fix infinite recursion in solc-select wrapper
dguido Sep 2, 2025
623ec53
Fix Python 3.9 compatibility and simplify CI wrapper functions
dguido Sep 2, 2025
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
25 changes: 0 additions & 25 deletions .coderabbit.yaml

This file was deleted.

24 changes: 12 additions & 12 deletions .github/DISCUSSION_TEMPLATE/installation.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
body:
-
attributes:
---
body:
-
attributes:
label: "What operating system are you using?"
id: os
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
label: "How did you install slither?"
description: |
For example, using git or python's pip.
id: install-method
type: textarea
validations:
validations:
required: true
- type: dropdown
id: python
Expand All @@ -25,14 +25,14 @@ body:
- "Yes"
- "No"
- "Not sure"
-
attributes:
-
attributes:
description: |
Please copy and paste any relevant log output. This
Please copy and paste any relevant log output. This
will be automatically formatted into code, so no need for backticks.
render: shell
label: "Output of running `slither-doctor .`:"
id: logs
labels:
labels:
- installation-help
title: "[Installation-Help]: "
40 changes: 20 additions & 20 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
---
body:
-
attributes:
---
body:
-
attributes:
value: |
Please check the issues tab to avoid duplicates, and
Please check the issues tab to avoid duplicates, and
confirm that the bug exists on the latest release (upgrade
by running `python3 -m pip install --upgrade slither-analyzer`).

If you are having difficulty installing slither,
please head over to the "Discussions" page.

Thanks for taking the time to fill out this bug report!
type: markdown
-
attributes:
-
attributes:
label: "Describe the issue:"
id: what-happened
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: "It can be a github repo (preferred), etherscan link, or code snippet."
label: "Code example to reproduce the issue:"
placeholder: "`contract A {}`\n"
id: reproduce
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
What version of slither are you running?
Run `slither --version`
label: "Version:"
id: version
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
Please copy and paste any relevant log output. This
Please copy and paste any relevant log output. This
will be automatically formatted into code, so no need for backticks.
render: shell
label: "Relevant log output:"
id: logs
type: textarea
description: "File a bug report"
labels:
labels:
- bug-candidate
name: "Bug Report"
title: "[Bug-Candidate]: "
42 changes: 21 additions & 21 deletions .github/ISSUE_TEMPLATE/false_negative.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
---
body:
-
attributes:
---
body:
-
attributes:
value: |
Please check the issues tab to avoid duplicates.
Please check the issues tab to avoid duplicates.
Thanks for helping make Slither the best it can be!
type: markdown
-
attributes:
-
attributes:
label: "What bug did Slither miss and which detector did you anticipate would catch it?"
id: what-happened
type: textarea
validations:
validations:
required: true
-
-
attributes:
label: Frequency
description: How often do you run across this false negative?
options:
- Very Frequently
- Occasionally
- Occasionally
- Rarely
- Not sure
id: frequency
type: dropdown
validations:
required: true
-
attributes:
-
attributes:
description: "It can be a github repo, etherscan link, or code snippet."
label: "Code example to reproduce the issue:"
placeholder: "`contract A {}`\n"
id: reproduce
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
What version of slither are you running?
What version of slither are you running?
Run `slither --version`
label: "Version:"
id: version
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
Please copy and paste the result output. This
Please copy and paste the result output. This
will be automatically formatted into code, so no need for backticks.
render: shell
label: "Relevant log output:"
id: logs
type: textarea
description: "Slither missed a bug it should find."
labels:
labels:
- false-negative
name: False Negative
title: "[False Negative]: "
42 changes: 21 additions & 21 deletions .github/ISSUE_TEMPLATE/false_positive.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
---
body:
-
attributes:
---
body:
-
attributes:
value: |
Please check the issues tab to avoid duplicates.
Please check the issues tab to avoid duplicates.
Thanks for helping make Slither the best it can be!
type: markdown
-
attributes:
-
attributes:
label: "Describe the false alarm that Slither raise and how you know it's inaccurate:"
id: what-happened
type: textarea
validations:
validations:
required: true
-
-
attributes:
label: Frequency
description: How often do you run across this false positive?
options:
- Very Frequently
- Occasionally
- Occasionally
- Rarely
- Not sure
id: frequency
type: dropdown
validations:
required: true
-
attributes:
-
attributes:
description: "It can be a github repo, etherscan link, or code snippet."
label: "Code example to reproduce the issue:"
placeholder: "`contract A {}`\n"
id: reproduce
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
What version of slither are you running?
What version of slither are you running?
Run `slither --version`
label: "Version:"
id: version
type: textarea
validations:
validations:
required: true
-
attributes:
-
attributes:
description: |
Please copy and paste the result output. This
Please copy and paste the result output. This
will be automatically formatted into code, so no need for backticks.
render: shell
label: "Relevant log output:"
id: logs
type: textarea
description: "Slither warned of an issue that is not legitimate and does not need to be fixed."
labels:
labels:
- false-positive
name: "False Positive"
title: "[False-Positive]: "
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ body:
label: Describe the desired feature
description: Explain what the feature solves/ improves.
validations:
required: true
required: true
10 changes: 5 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "dev"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "dev"
schedule:
interval: "weekly"
11 changes: 7 additions & 4 deletions .github/scripts/integration_test_runner.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
#!/usr/bin/env bash

# Use UV_RUN if set (for CI), otherwise run directly (for local dev)
RUN="${UV_RUN:-}"

# used to pass --cov=$path and --cov-append to pytest
if [ "$1" != "" ]; then
pytest "$1" tests/e2e/ -n auto
$RUN pytest "$1" tests/e2e/ -n auto
status_code=$?
python -m coverage report
$RUN python -m coverage report
else
pytest tests/e2e/ -n auto
$RUN pytest tests/e2e/ -n auto
status_code=$?
fi

exit "$status_code"
exit "$status_code"
11 changes: 7 additions & 4 deletions .github/scripts/tool_test_runner.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
#!/usr/bin/env bash

# Use UV_RUN if set (for CI), otherwise run directly (for local dev)
RUN="${UV_RUN:-}"

# used to pass --cov=$path and --cov-append to pytest
if [ "$1" != "" ]; then
pytest "$1" tests/tools
$RUN pytest "$1" tests/tools
status_code=$?
python -m coverage report
$RUN python -m coverage report
else
pytest tests/tools
$RUN pytest tests/tools
status_code=$?
fi

exit "$status_code"
exit "$status_code"
Loading