* include enums used in top level
* mark where parsing is incorrect
* update AST tests for custom errors
Co-authored-by: alpharush <0xalpharush@protonmail.com>
* fix typo in `--help` output for `--print` flag (#1149)
* Support of ERC1363, ERC4524 for slither-check-erc (#1263)
Co-authored-by: Erick <edag94@live.com>
* Unify path filtering across POSIX and Windows
Path filtering is performed on absolute paths, which causes regexps
to not work uniformly across OSes, due to the different path separator
(forward vs backward slashes). This converts paths to POSIX-style
before filtering, so that regexps can be written in a single style
and work across all systems.
Fixes: #1191
* Revert path behavior for "ignore comment" checks
* Disable coloring if output is not a terminal
Color escape codes are most likely not expected if piping the output
of slither into a file or other tool. Check if stdout is a tty before
enabling colored output.
* Test cases for SSA IR generation
Attempts to verify a few basic properties of the generated SSA IR.
Currently these tests fail because of IR that seems to be incorrect.
Co-authored-by: Emilio López <2642849+elopez@users.noreply.github.com>
* Update to gh super linter 4.9.2 + linters
This PR cleanup our CI to use a fix version of gh super linter, to avoid
breaking the CI on new super linter release. Additionally it update our linters, the new versions:
- pylint 2.13.4
- black 22.3.0
Similar to https://github.com/crytic/crytic-compile/pull/252
Additionally, update to use crytic-compile@master
* workflows: parser: use solc-select from pip
The hardcoded, manually-installed version is out of date. This updates
the workflow to install directly from pip now that it is available there.
* workflows: parser: Run tests also on Windows
* workflows: parser: bump solc-select to >=v1.0.0b1
This version introduces Windows support.
* workflows: parser: FIXME: install patched crytic-compile
* workflows: features: enable Windows runs
This enables runs on windows-2022 and updates solc-select to support
running on Windows.
* workflows: features: FIXME: install patched crytic-compile
* workflows: detectors: enable Windows runs
This enables runs on windows-2022 and updates solc-select to support
running on Windows.
* workflows: detectors, features, parser: disable fail-fast
Disable fail-fast so failures in one platform do not hide failures
in the other OS.
* tests: detectors: adjust GENERIC_PATH replacement for Windows
Backslashes are escaped in the string representation, so we need
to double them before replacing. Also change generic path to a constant
string to avoid it being converted to "\GENERIC_PATH" in Windows and
getting an invalid escape error from the JSON decoder later on.
* tests: use lf endings for test code
If autocrlf is enabled on Windows, it will rewrite solc code with
CRLF file endings and break tests that depend on byte offsets in
the code files.
* workflows: detectors: FIXME: install patched crytic-compile
* workflows: ci: enable Windows runs
This enables runs on windows-2022 and updates solc-select to support
running on Windows. Some tests with Linux requirements are excluded.
* workflows: ci: FIXME: install patched crytic-compile
* workflows: *: update actions/setup-python to v3
v1 does not install Python correctly on Windows. While at it, update
all instances to v3.
* workflows: ci: add msys2 tools to path
* workflows: ci: disable broken Windows workflows
* workflows: apply linter fixes
* workflows: ci: enable dapp test
* tests: dapp: fix test
* core: normalize paths on POSIX style
* workflows: ci: enable printers tests on Windows