Commit Graph
5050 Commits
Author SHA1 Message Date
Dan GuidoandClaude Opus 4.5 d460d9360a Apply ruff formatting after merge
Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-15 15:59:37 -05:00
Dan Guido 512f079ca7 Merge remote-tracking branch 'origin/master' into HEAD
# Conflicts:
#	slither/visitors/slithir/expression_to_slithir.py
2026-01-15 15:59:12 -05:00
Simone fd71cabd07 Merge pull request #2885 from crytic/fix-docker-armv7-build-tools
Fix Docker armv7 build: add build tools for pip wheel compilation
0.11.4
2026-01-15 19:35:09 +01:00
Dan GuidoandClaude Opus 4.5 1460245031 Fix Docker armv7 build: add build tools for pip wheel compilation
The armv7 pip fallback fails because packages like pycryptodome,
bitarray, and regex need C compilation but gcc/python3-dev weren't
installed.

This adds build-essential and python3-dev conditionally only on armv7,
keeping amd64/arm64 images lean (they use uv with pre-built wheels).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-15 13:34:14 -05:00
Simone bb4e8d0241 Merge pull request #2884 from crytic/fix-docker-armv7
Fix Docker build for armv7: use curl to install uv with pip fallback
2026-01-15 19:22:56 +01:00
Dan GuidoandClaude Opus 4.5 3dcdfd1936 Fix Docker build for armv7: use curl to install uv with pip fallback
The previous change used `COPY --from=ghcr.io/astral-sh/uv:latest` which
fails on armv7 because uv doesn't publish armv7 images.

This fix:
- Uses curl to install uv (works on amd64/arm64)
- Falls back to pip for armv7 where uv isn't available
- Adds ca-certificates and curl to apt dependencies
- Re-adds python3-pip for the fallback path

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-15 13:21:00 -05:00
Simone f4568192bd Merge pull request #2883 from crytic/optimize-dockerfile
Optimize Dockerfile: migrate to uv, reduce build context
2026-01-15 19:14:46 +01:00
Dan GuidoandClaude Opus 4.5 770f566b5b Optimize Dockerfile: migrate to uv, reduce build context
- Replace pip with uv for faster dependency installation
- Use uv.lock for reproducible builds with `uv sync --frozen`
- Expand .dockerignore to reduce build context from 937MB to ~9MB
- Remove multi-stage build (no longer needed with uv)
- Optimize layer caching by copying lockfile before source
- Consolidate LABEL instructions into single layer
- Use JSON notation for CMD (proper signal handling)
- Update syntax directive to 1.12

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-15 13:10:00 -05:00
Emilio López 42b79491ea dependabot: disable on test artifacts #4 2026-01-15 15:05:27 -03:00
Emilio López f0cf31495b dependabot: disable on test artifacts #3 2026-01-15 14:59:02 -03:00
Emilio López 04da9b0fdd dependabot: disable on test artifacts #2 2026-01-15 14:55:41 -03:00
Emilio López 351c8cb182 dependabot: disable on test artifacts 2026-01-15 14:50:31 -03:00
Simone 6968b2ab1f Update version 2026-01-15 18:43:30 +01:00
Simone 10b3e54af8 Merge pull request #2875 from crytic/dev
Sync Dev <> Master
2026-01-15 18:40:53 +01:00
Simone 734c4ca878 Merge pull request #2866 from crytic/dev-unindexed-events
Add unindexed-event-address detector
2026-01-15 18:33:56 +01:00
Simone 8b80ed236f Target master branch for development (#2874) 2026-01-15 12:32:52 -05:00
Simone adcc2d9cf0 Merge pull request #2873 from crytic/uv-lock
`uv lock --upgrade`
2026-01-15 18:04:10 +01:00
Emilio López f8ec63153e uv lock --upgrade 2026-01-15 10:44:43 -03:00
Emilio López bed4803f4d Merge pull request #2869 from crytic/fix/modernize-plugin-example
Modernize plugin_example to use pyproject.toml
2026-01-15 09:57:15 -03:00
Emilio López bae7114c11 Merge remote-tracking branch 'origin/dev' into fix/modernize-plugin-example 2026-01-15 09:43:46 -03:00
Dan GuidoandClaude Opus 4.5 94ea114cee Modernize plugin_example to use pyproject.toml
Replace legacy setup.py with modern pyproject.toml using hatchling
build backend. Update README with current installation instructions.

Fixes #2854

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-15 02:18:22 -05:00
Simone a4480ab5fd Remove unused imports 2026-01-10 01:42:57 +01:00
Simone 8216de9707 Fix wiki link 2026-01-10 01:41:43 +01:00
Simone 22a72c3ceb Update README.md 2026-01-10 01:35:37 +01:00
Simone 68f0e10dae Add unindexed-event-address detector 2026-01-10 01:33:02 +01:00
Simone 50035b53fa Merge pull request #2865 from crytic/dev-fix-duplicates-vars-auth
Remove iterating modifiers as they are already present from all_internal_calls()
2026-01-10 01:18:16 +01:00
Simone bbca15a2d6 Merge pull request #2860 from crytic/dev-fix-modifier-parsing
Fix parsing of modifiers
2026-01-10 01:15:18 +01:00
Simone 53ac84c21e Merge pull request #2861 from crytic/fix-expression-parsing-aliasing
Fix aliasing of member access with Vyper's builtins when parsing an expression
2026-01-10 01:14:59 +01:00
Simone fc2f656be5 Merge pull request #2863 from crytic/dev-support-custom-storage-layout
Support custom storage layout
2026-01-10 01:14:32 +01:00
Simone 2ec6033e17 Merge pull request #2864 from crytic/dev-output-detector-name
Add detector's name in the output
2026-01-10 01:14:18 +01:00
Simone d1711917de Format 2026-01-10 01:12:30 +01:00
Simone 3ce59c5591 Remove iterating modifiers as they are already present from all_internal_calls() 2026-01-10 01:10:11 +01:00
Simone 9ae49b1868 Add detector's name in the output 2026-01-10 00:55:20 +01:00
Simone 990057feac Add type hint 2026-01-09 19:57:49 +01:00
Simone d3ebedf160 Format 2026-01-09 19:50:41 +01:00
Simone 868f88d72d Support custom storage layout 2026-01-09 19:47:31 +01:00
Simone df35fc5131 Merge pull request #2828 from stevennevins/feature/mutator-target-function
feat(mutator): add --target-functions flag to filter mutations by selector
2026-01-09 16:51:44 +01:00
steven nevins 1739e3c931 Merge upstream/dev into feature/mutator-target-function
Resolve conflicts in mutator files by keeping target-functions
feature logic with upstream's cleaner for-loop style.
2026-01-08 19:22:35 -05:00
Simone 665a877049 Merge pull request #2832 from stevennevins/fix/mutator-unicode-byte-offsets
fix: handle Unicode characters correctly in mutator byte offset calculation
2026-01-09 01:17:26 +01:00
steven nevins 030a0e14ed fix: handle Unicode characters correctly in mutator byte offset calculations
Solc reports source locations as byte offsets, but the mutator code was
using Python string indexing which operates on character counts. For
files with multi-byte Unicode characters (e.g., Japanese comments),
this caused mutations to be applied at wrong positions.

- Change test_patch() to read/write files in binary mode
- Fix apply_patch() offset calculation to use byte length
2026-01-08 19:10:04 -05:00
Simone 1d1580a31b Fix aliasing of member access with Vyper's builtins when parsing an expression 2026-01-08 03:12:11 +01:00
Simone d49960c7a3 Fix parsing of modifiers 2026-01-08 01:29:02 +01:00
Simone 195312f23f Merge pull request #2768 from crytic/entry-points-v2
Add storage variables and contract inheritance to `entry-points` printer
2026-01-07 21:15:27 +01:00
Simone 6c640a10f6 Merge pull request #2761 from crytic/mutation-cleanup
Mutation cleanup
2026-01-07 21:06:43 +01:00
Simone 2b7c4d6a1d Merge pull request #2827 from crytic/fix/ssa-add-refers-to-assertion
fix: expand add_refers_to assertion to accept TopLevelVariable
2026-01-07 21:00:40 +01:00
Simone 470bee9d33 Re-add comment 2026-01-07 20:54:21 +01:00
Simone 86ad360b98 Update lock file 2026-01-07 20:48:25 +01:00
Simone 4488f1d934 Do not track references to TopLevelVariable 2026-01-07 20:43:28 +01:00
Simone 576617a0f3 Merge branch 'dev' into fix/ssa-add-refers-to-assertion 2026-01-07 20:40:01 +01:00
Emilio López 67fac01524 Merge pull request #2859 from crytic/dependabot/github_actions/dev/actions/checkout-6
Bump actions/checkout from 4 to 6
2026-01-07 13:53:07 -03:00